<p><strong>总结,对于不耐烦的人</p>
<pre><code>$ 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
</code></pre>
<hr/>
<p><strong>现在详细信息…</strong></p>
<p>我有一个使用Heimdal Kerberos的Debian系统。我会告诉你我要做什么才能让它为我工作。希望这也能帮助其他人。</p>
<hr/>
<h2>问题1-krb5配置:找不到命令</h2>
<p>对于gssapi,<code>setup.py</code>使用<code>krb5-config</code>命令查找要链接的gssapi库(请参见<a href="https://github.com/pythongssapi/python-gssapi/blob/c66f7c12052ed0daeddd4a2cee01fc9ba94df785/setup.py#L56" rel="noreferrer">here</a>)。因为我的系统是使用Heimdal而不是MIT Kerberos安装的,所以可执行命令被重命名为<code>krb5-config.mit</code>,所以<code>setup.py</code>会丢失它。</p>
<pre><code>$ krb5-config --libs gssapi # doesn't work
bash: krb5-config: command not found
</code></pre>
<p>我创建了一个符号链接以使其在安装时工作:</p>
<pre><code>$ 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
</code></pre>
<hr/>
<h2>问题2-libgssapi_krb5.so:无法打开共享对象文件:没有这样的文件或目录</h2>
<p><code>setup.py</code>正在<code>/usr/lib</code>中查找要链接的gssapi库。在Debian Jesse中,大多数lib现在保存在<code>/usr/lib/x86_64-linux-gnu</code>中。同样,符号链接可以解决这个问题:</p>
<pre><code>$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
</code></pre>
<hr/>
<h2>问题3-错误:未知类型名“gss\u key\u value\u set\u desc”</h2>
<p>生成失败,因为它无法识别库中的符号。原因是它无法获得正确的头文件。我真傻,我忘了为krb5头包含<code>-dev</code>包。用apt get解决这个问题:</p>
<pre><code>$ sudo apt-get install libkrb5-dev
</code></pre>
<hr/>
<h2>最后-安装gssapi</h2>
<p>现在我们应该准备好出发了。</p>
<pre><code>$ sudo pip install gssapi
</code></pre>
<p>如果要整理,可以删除指向<code>krb5-config.mit</code>命令的符号链接:</p>
<pre><code>$ sudo rm /usr/bin/krb5-config
</code></pre>