我正在尝试通过pip安装GSSAPI模块但我收到此错误,我不知道如何解决。
Could not find main GSSAPI shared library. Please try setting GSSAPI_MAIN_LIB yourself or setting ENABLE_SUPPORT_DETECTION to 'false'
我需要这个在python 2.6上进行ldap3身份验证。
答案 0 :(得分:7)
总结,对于不耐烦的
$ 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系统。我将带您了解我必须做些什么来让它为我工作。希望这也可以帮助其他人。
setup.py
使用krb5-config
命令查找要链接的GSSAPI库(请参阅here)。由于我的系统是使用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中,大多数libs现在保存在/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
答案 1 :(得分:2)
sudo apt-get install libkrb5-dev
实际安装/ usr / bin / krb5-config和/usr/lib/libgssapi_krb5.so
因此不需要符号链接,只需安装libkrb5-dev就可以了。
答案 2 :(得分:0)
对我来说,在Centos中安装了软件包“ krb5-libs”后,该问题已解决。 基本上,我们需要有libgssapi_krb5.so文件来安装gssapi。