python-ldap 3.4 在高山图像上安装失败
Posted
技术标签:
【中文标题】python-ldap 3.4 在高山图像上安装失败【英文标题】:python-ldap 3.4 installation fails on alpine images 【发布时间】:2022-01-07 22:58:00 【问题描述】:当尝试在 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 等但没有成功。
非常感谢任何想法:)
【问题讨论】:
【参考方案1】:在链接到 OpenLDAP 2.5+ 时,python-ldap
包存在问题。开发人员在https://github.com/python-ldap/python-ldap/issues/432 和https://github.com/python-ldap/python-ldap/issues/445 中确认了这些问题。
经过测试的解决方法是第一个问题中描述的解决方法:
作为一种解决方法,使用内容创建文件 /usr/lib64/libldap_r.so 输入(libldap.so)。该方法适用于所有使用 GNU 的系统 ld 兼容的链接器。
# cat > /usr/lib64/libldap_r.so << EOF
INPUT ( libldap.so )
EOF
您还可以以更简单的方式使用它(例如在 Dockerfiles 中):
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so
【讨论】:
解决方法效果很好,非常感谢 Dark_eye,周末愉快! :) @krnnrt 请将问题标记为已回答。谢谢,也祝你有美好的一天;)以上是关于python-ldap 3.4 在高山图像上安装失败的主要内容,如果未能解决你的问题,请参考以下文章