python-ldap 3.4 在 alpine 镜像上安装失败
python-ldap 3.4 installation fails on alpine images
当尝试在 apline docker 映像上安装最新的 python-ldap 3.4 版时(我使用 python:3.9-alpine 作为我的基础映像)python-ldap 失败:
...
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lldap_r
collect2: error: ld returned 1 exit status
error: command '/usr/bin/gcc' failed with exit code
...
已安装的依赖项:
apk add --no-cache --virtual .build-deps musl-dev gcc postgresql-dev openldap-dev libffi-dev
也尝试了 build-base 等,但没有成功。
非常感谢任何想法:)
链接到 OpenLDAP 2.5+ 时,python-ldap
包存在问题。开发人员在 https://github.com/python-ldap/python-ldap/issues/432 and https://github.com/python-ldap/python-ldap/issues/445.
中确认了这些问题
经过测试的解决方法是第一期中描述的解决方法:
As a workaround create the file /usr/lib64/libldap_r.so with content
INPUT ( libldap.so ). The approach works on all systems that use a GNU
ld-compatible linker.
# cat > /usr/lib64/libldap_r.so << EOF
INPUT ( libldap.so )
EOF
您还可以以更简单的方式使用它(例如在 Dockerfiles 中):
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so
当尝试在 apline docker 映像上安装最新的 python-ldap 3.4 版时(我使用 python:3.9-alpine 作为我的基础映像)python-ldap 失败:
...
/usr/lib/gcc/x86_64-alpine-linux-musl/10.3.1/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lldap_r
collect2: error: ld returned 1 exit status
error: command '/usr/bin/gcc' failed with exit code
...
已安装的依赖项:
apk add --no-cache --virtual .build-deps musl-dev gcc postgresql-dev openldap-dev libffi-dev
也尝试了 build-base 等,但没有成功。
非常感谢任何想法:)
链接到 OpenLDAP 2.5+ 时,python-ldap
包存在问题。开发人员在 https://github.com/python-ldap/python-ldap/issues/432 and https://github.com/python-ldap/python-ldap/issues/445.
经过测试的解决方法是第一期中描述的解决方法:
As a workaround create the file /usr/lib64/libldap_r.so with content INPUT ( libldap.so ). The approach works on all systems that use a GNU ld-compatible linker.
# cat > /usr/lib64/libldap_r.so << EOF
INPUT ( libldap.so )
EOF
您还可以以更简单的方式使用它(例如在 Dockerfiles 中):
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so