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 在高山图像上安装失败的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu18.4.3安装python-ldap找不到lber.h的解决方法

我无法安装 python-ldap

高山 linux 上的 Oracle

Python-ldap 安装不上

Windows 7 上的 Python-LDAP 身份验证

高山图像中的 Crontab [重复]