2024-05-16 04:56:22 发布
网友
我正试图通过pip安装GSSAPI模块,但收到这个错误,我不知道如何解决。
Could not find main GSSAPI shared library. Please try setting GSSAPI_MAIN_LIB yourself or setting ENABLE_SUPPORT_DETECTION to 'false'
我需要在Python2.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库(请参见here)。因为我的系统是使用Heimdal而不是MIT Kerberos安装的,所以可执行命令被重命名为krb5-config.mit,所以setup.py会丢失它。
setup.py
krb5-config
krb5-config.mit
$ 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中,大多数lib现在保存在/usr/lib/x86_64-linux-gnu中。同样,符号链接可以解决这个问题:
/usr/lib
/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解决这个问题:
-dev
$ sudo apt-get install libkrb5-dev
现在我们应该准备好出发了。
$ sudo pip install gssapi
如果要整理,可以删除指向krb5-config.mit命令的符号链接:
$ sudo rm /usr/bin/krb5-config
sudo apt-get install libkrb5-dev 实际安装/usr/bin/krb5 config和/usr/lib/libgssapi_krb5.so
sudo apt-get install libkrb5-dev
所以不需要任何符号链接,只要安装libkrb5 dev就可以了。
对我来说,这个问题在Centos中安装了“krb5 libs”包之后就解决了。 基本上我们需要libgssapi_krb5.so文件来安装gssapi。
总结,对于不耐烦的人
现在详细信息…
我有一个使用Heimdal Kerberos的Debian系统。我会告诉你我要做什么才能让它为我工作。希望这也能帮助其他人。
问题1-krb5配置:找不到命令
对于gssapi,
setup.py
使用krb5-config
命令查找要链接的gssapi库(请参见here)。因为我的系统是使用Heimdal而不是MIT Kerberos安装的,所以可执行命令被重命名为krb5-config.mit
,所以setup.py
会丢失它。我创建了一个符号链接以使其在安装时工作:
问题2-libgssapi_krb5.so:无法打开共享对象文件:没有这样的文件或目录
setup.py
正在/usr/lib
中查找要链接的gssapi库。在Debian Jesse中,大多数lib现在保存在/usr/lib/x86_64-linux-gnu
中。同样,符号链接可以解决这个问题:问题3-错误:未知类型名“gss\u key\u value\u set\u desc”
生成失败,因为它无法识别库中的符号。原因是它无法获得正确的头文件。我真傻,我忘了为krb5头包含
-dev
包。用apt get解决这个问题:最后-安装gssapi
现在我们应该准备好出发了。
如果要整理,可以删除指向
krb5-config.mit
命令的符号链接:sudo apt-get install libkrb5-dev
实际安装/usr/bin/krb5 config和/usr/lib/libgssapi_krb5.so所以不需要任何符号链接,只要安装libkrb5 dev就可以了。
对我来说,这个问题在Centos中安装了“krb5 libs”包之后就解决了。 基本上我们需要libgssapi_krb5.so文件来安装gssapi。
相关问题 更多 >
编程相关推荐