簡體   English   中英

如何安裝 GSSAPI Python 模塊?

[英]How to install GSSAPI Python module?

我正在嘗試通過 pip 安裝 GSSAPI 模塊,但收到此錯誤,我不知道如何解決。

找不到主要的 GSSAPI 共享庫。 請嘗試自己設置 GSSAPI_MAIN_LIB 或將 ENABLE_SUPPORT_DETECTION 設置為 '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:找不到命令

gssapi 的setup.py使用krb5-config命令查找要鏈接的 GSSAPI 庫(請參閱此處)。 因為我的系統是使用 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 中,大多數庫現在保存在/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

sudo apt install libkrb5-dev實際上安裝了 /usr/bin/krb5-config 和 /usr/lib/libgssapi_krb5.so

所以不需要任何符號鏈接,只需安裝 libkrb5-dev 就可以了。

對我來說,在 Centos 中安裝包“krb5-libs”后問題得到了解決。 基本上我們需要有 libgssapi_krb5.so 文件來安裝 gssapi。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM