在Redhat Enterprise Server上安装python-ldap时解决GCC错误

Python-LDAP Redhat =咬牙切齿 最近,我花了几个小时撕掉我的头发(或者剩下的东西)试图将python-ldap(通过pip)安装到Redhat Enterprise服务器上. 这是我会得到的错误消息(看起来很熟悉?): Modules / constants.c:365:错误:’LDAP_CONTROL_RELAX’未声明(

Python-LDAP Redhat =咬牙切齿

最近,我花了几个小时撕掉我的头发(或者剩下的东西)试图将python-ldap(通过pip)安装到Redhat Enterprise服务器上.

这是我会得到的错误消息(看起来很熟悉?):

Modules / constants.c:365:错误:’LDAP_CONTROL_RELAX’未声明(首次在此函数中使用)
错误:命令’gcc’失败,退出状态为1

如果只有那里有人可以帮助我!

解决方法

可是等等!我可以帮助你,因为我经过大量的诅咒后想出来了!

步骤1:验证是否已安装先决条件

根据docs,您必须在系统上安装OpenLDAP库.在我写这些库的版本要求时,> = 2.4.11

要查看您的系统上是否安装了此类库,请运行以下命令:yum list installed openldap *

以下是我系统的输出,作为您可能会看到的示例:

PACKAGE                                                         VERSION
openldap24-libs.i386                                            2.4.23-5.el5                                     
openldap24-libs.x86_64                                          2.4.23-5.el5                                     
openldap24-libs-devel.i386                                      2.4.23-5.el5                                     
openldap24-libs-devel.x86_64                                    2.4.23-5.el5

所以,就我而言,我已经安装了库.如果你不只是运行:

sudo yum install openldap24-libs-devel  
sudo yum install openldap24-libs

第2步:这些软件包安装在哪里?

如果软件包已经安装并且pip仍然失败,那么setup.cfg脚本可能会查找所需库文件的错误位置.那么,让我们找出原因
它们存在于我们的系统中.

做这个:

rpm -ql openldap24-libs
rpm -ql openldap24-libs-devel

你应该得到这样的东西(我已经缩写了这个,所以我们可以更容易地看到涉及的目录).

rpm -ql openldap24-libs
/usr/lib64/...
/usr/lib/...

rpm -ql openldap24-libs-devel
/usr/include/openldap24/...
/usr/lib/openldap24/...
/usr/lib64/openldap24/...

第3步:检查Pip的setup.cfg文件中的python-ldap

>当pip install命令失败时,它会在python解释器的基目录中留下一个构建目录(你会找到/ bin,/ include,/ lib和/ man的相同位置).
>在构建目录中,你应该找到`python-ldap / setup.cfg’.
>在您喜欢的编辑器中打开文件.

你应该在文件的顶部看到这个:

[_ldap]
library_dirs = /opt/openldap-RE24/lib /usr/lib
include_dirs = /opt/openldap-RE24/include /usr/include/sasl /usr/include

显然,这是错误的.将您在步骤2中发现的目录附加到当前列出的目录前面,以便最终得到如下内容:

[_ldap]
library_dirs = /usr/lib64/openldap24 /usr/lib/openldap24 /usr/lib64 /opt/openldap-RE24/lib /usr/lib
include_dirs = /usr/include/openldap24 /opt/openldap-RE24/include /usr/include/sasl /usr/include

第4步:重新安装&利润!

保存文件后,您只需再次运行pip install python-ldap.安装过程将查看您的更新setup.cfg,并且应该安装而不会出现任何进一步的问题.

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部