G3t*_*lly 7 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'
Run Code Online (Sandbox Code Playgroud)
我需要这个在python 2.6上进行ldap3身份验证.
Jen*_*man 11
sudo apt install libkrb5-dev
实际安装 /usr/bin/krb5-config 和 /usr/lib/libgssapi_krb5.so
所以不需要任何符号链接,只需安装 libkrb5-dev 就可以了。
总结,对于不耐烦
$ 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
Run Code Online (Sandbox Code Playgroud)
而现在细节......
我有一个使用Heimdal Kerberos的Debian系统.我将带你了解我必须做的事情,让它为我工作.希望这也可以帮助别人.
setup.pyfor gssapi使用该krb5-config命令查找要链接的GSSAPI库(参见此处).因为我的系统是使用Heimdal而不是MIT Kerberos安装的,所以可执行命令已经重命名,krb5-config.mit因此setup.py错过了它.
$ krb5-config --libs gssapi # doesn't work
bash: krb5-config: command not found
Run Code Online (Sandbox Code Playgroud)
我创建了一个符号链接以使其适用于安装:
$ 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
Run Code Online (Sandbox Code Playgroud)
setup.py正在寻找/usr/libgssapi图书馆链接.在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
Run Code Online (Sandbox Code Playgroud)
构建失败,因为它无法识别库中的符号.原因是它无法获得正确的头文件.傻傻的我,我忘了包含-devkrb5标头的包.使用apt-get修复此问题:
$ sudo apt-get install libkrb5-dev
Run Code Online (Sandbox Code Playgroud)
现在我们应该准备好了.
$ sudo pip install gssapi
Run Code Online (Sandbox Code Playgroud)
如果要整理,可以删除krb5-config.mit命令的符号链接:
$ sudo rm /usr/bin/krb5-config
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7571 次 |
| 最近记录: |