如何安装gssapi python模块?

时间:2015-06-17 15:44:27

标签: python ldap python-2.6

我正在尝试通过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身份验证。

3 个答案:

答案 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系统。我将带您了解我必须做些什么来让它为我工作。希望这也可以帮助其他人。

问题1 - 找不到命令krb5-config:

gssapi的

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

问题2 - libgssapi_krb5.so:无法打开共享对象文件:没有这样的文件或目录

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

问题3 - 错误:未知类型名称'gss_key_value_set_desc'

构建失败,因为它无法识别库中的符号。原因是它无法获得正确的头文件。傻了,我忘了为krb5标题添加-dev包。使用apt-get修复此问题:

$ sudo apt-get install libkrb5-dev

最后 - 安装gssapi

现在我们应该准备好了。

$ 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。