[英]How to install GSSAPI Python module?
我正在尝试通过 pip 安装 GSSAPI 模块,但收到此错误,我不知道如何解决。
找不到主要的 GSSAPI 共享库。 请尝试自己设置 GSSAPI_MAIN_LIB 或将 ENABLE_SUPPORT_DETECTION 设置为 'false'
我需要它在 Python 2.6 上工作以进行 LDAP3 身份验证。
总结,对于不耐烦的
$ sudo ln -s /usr/bin/krb5-config.mit /usr/bin/krb5-config
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
$ sudo apt-get install python-pip libkrb5-dev
$ sudo pip install gssapi
现在细节...
我有一个使用 Heimdal Kerberos 的 Debian 系统。 我将带您了解我必须做什么才能让它为我工作。 希望这也可以帮助其他人。
gssapi 的setup.py
使用krb5-config
命令查找要链接的 GSSAPI 库(请参阅此处)。 因为我的系统是使用 Heimdal 而不是 MIT Kerberos 安装的,可执行命令已重命名为krb5-config.mit
因此setup.py
错过了它。
$ krb5-config --libs gssapi # doesn't work
bash: krb5-config: command not found
我创建了一个符号链接以使其适用于安装:
$ sudo ln -s /usr/bin/krb5-config.mit /usr/bin/krb5-config
$ krb5-config --libs gssapi # does work
-L/usr/lib/x86_64-linux-gnu/mit-krb5 -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
setup.py
正在/usr/lib
中查找要链接的 gssapi 库。 在 Debian Jesse 中,大多数库现在保存在/usr/lib/x86_64-linux-gnu
。 同样,符号链接可以解决这个问题:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
构建失败,因为它无法识别库中的符号。 原因是它无法获得正确的头文件。 愚蠢的我,我忘了为 krb5 头文件包含-dev
包。 用 apt-get 解决这个问题:
$ sudo apt-get install libkrb5-dev
现在我们应该准备好了。
$ sudo pip install gssapi
如果你想整理一下,你可以删除krb5-config.mit
命令的符号链接:
$ sudo rm /usr/bin/krb5-config
sudo apt install libkrb5-dev
实际上安装了 /usr/bin/krb5-config 和 /usr/lib/libgssapi_krb5.so
所以不需要任何符号链接,只需安装 libkrb5-dev 就可以了。
对我来说,在 Centos 中安装包“krb5-libs”后问题得到了解决。 基本上我们需要有 libgssapi_krb5.so 文件来安装 gssapi。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.