如何安装 GSSAPI Python 模块?
How to install GSSAPI Python module?
我正在尝试通过 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 身份验证。
总结一下,给没耐心的
$ 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:找不到命令
setup.py
for gssapi 使用 krb5-config
命令查找 GSSAPI 库以 link 反对(参见 here)。因为我的系统是使用 Heimdal 而不是 MIT Kerberos 安装的,所以可执行命令已重命名为 krb5-config.mit
,所以 setup.py
没有看到它。
$ krb5-config --libs gssapi # doesn't work
bash: krb5-config: command not found
我创建了一个 symlink 来让它为安装工作:
$ 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: 无法打开共享 object 文件: 没有那个文件或目录
setup.py
正在 /usr/lib
中寻找 gssapi 库以 link 反对。在 Debian Jesse 中,大多数库现在保存在 /usr/lib/x86_64-linux-gnu
中。同样,symlink 可以解决这个问题:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
问题 3 - 错误:未知类型名称‘gss_key_value_set_desc’
构建失败,因为它无法识别库中的符号。原因是它无法获得正确的 header 文件。真傻,我忘了包含 krb5 headers 的 -dev
包。使用 apt-get:
修复此问题
$ sudo apt-get install libkrb5-dev
最后 - 安装 gssapi
现在我们应该准备好了。
$ sudo pip install gssapi
如果想整理一下,可以去掉symlink到krb5-config.mit
命令:
$ sudo rm /usr/bin/krb5-config
sudo apt install libkrb5-dev
实际上安装 /usr/bin/krb5-config 和 /usr/lib/libgssapi_krb5.so
所以 none 需要符号链接,只需安装 libkrb5-dev 就可以了。
对我来说,在 Centos 中安装软件包 "krb5-libs" 后问题得到解决。
基本上我们需要 libgssapi_krb5.so 文件来安装 gssapi。
我正在尝试通过 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 身份验证。
总结一下,给没耐心的
$ 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:找不到命令
setup.py
for gssapi 使用 krb5-config
命令查找 GSSAPI 库以 link 反对(参见 here)。因为我的系统是使用 Heimdal 而不是 MIT Kerberos 安装的,所以可执行命令已重命名为 krb5-config.mit
,所以 setup.py
没有看到它。
$ krb5-config --libs gssapi # doesn't work
bash: krb5-config: command not found
我创建了一个 symlink 来让它为安装工作:
$ 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: 无法打开共享 object 文件: 没有那个文件或目录
setup.py
正在 /usr/lib
中寻找 gssapi 库以 link 反对。在 Debian Jesse 中,大多数库现在保存在 /usr/lib/x86_64-linux-gnu
中。同样,symlink 可以解决这个问题:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
问题 3 - 错误:未知类型名称‘gss_key_value_set_desc’
构建失败,因为它无法识别库中的符号。原因是它无法获得正确的 header 文件。真傻,我忘了包含 krb5 headers 的 -dev
包。使用 apt-get:
$ sudo apt-get install libkrb5-dev
最后 - 安装 gssapi
现在我们应该准备好了。
$ sudo pip install gssapi
如果想整理一下,可以去掉symlink到krb5-config.mit
命令:
$ sudo rm /usr/bin/krb5-config
sudo apt install libkrb5-dev
实际上安装 /usr/bin/krb5-config 和 /usr/lib/libgssapi_krb5.so
所以 none 需要符号链接,只需安装 libkrb5-dev 就可以了。
对我来说,在 Centos 中安装软件包 "krb5-libs" 后问题得到解决。 基本上我们需要 libgssapi_krb5.so 文件来安装 gssapi。