【问题标题】:python-ldap 3.4 installation fails on alpine imagespython-ldap 3.4 在高山图像上安装失败
【发布时间】: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 等但没有成功。

非常感谢任何想法:)

【问题讨论】:

    标签: gcc openldap python-ldap


    【解决方案1】:

    在链接到 OpenLDAP 2.5+ 时,python-ldap 包存在问题。开发人员在https://github.com/python-ldap/python-ldap/issues/432https://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 请将问题标记为已回答。谢谢,也祝你有美好的一天;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2020-08-03
    • 1970-01-01
    • 2011-05-04
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多