`

解决难缠的“undefined symbol: apr_ldap_ssl_init”等问题

阅读更多

###在64bit机器上,使用yum remove把非64的i386/i686全部的安装包全部清除之后重启httpd出现错误:

Starting httpd: httpd: Syntax error on line 161 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_ldap.so into server: /etc/httpd/modules/mod_ldap.so: undefined symbol: apr_ldap_ssl_init

###在httpd.conf文件中把mod_ldap.so注释之后则出现以下错误:
Starting httpd: httpd: Syntax error on line 162 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_authnz_ldap.so into server: /etc/httpd/modules/mod_authnz_ldap.so: undefined symbol: apr_ldap_url_parse

###在httpd.conf文件中把mod_authnz_ldap.so注释之后虽然不错了,但是发生这样的错误感到莫名奇妙,很不舒服!

 

###于是接下来开始折腾了。。。。折腾了几个小时。。。。。使用“yum install httpd”重装apache以及所有相关包。。。。下载apache2.2.14最新稳定版源码重新编译。。。。。重新下载apr及apr-util源码编译安装。。。。删除再安装。。。安装再删除。。。网上几乎查遍了所有中英文网站资料。。。依然不行。。。。。真是折腾!!!(从后来知道的原因来看实在无语。。。。。。因此要广而告之!!!)

 

###以下是配置过程中出现的其它错误,列在这里以供搜索到此并供参考:
httpd: Syntax error on line 161 of /usr/local/apache2/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_ldap.so into server: /etc/httpd/modules/mod_ldap.so: undefined symbol: ldap_simple_bind_s

 

###在解决问题过程中开始怀疑ldap相关包有问题,而来在网上资料中发现应该是apr-util包有问题。

 

###那到底是什么原因?怎么解决呢? 执行./httpd -V 看看版本吧!

Server version: Apache/2.2.3
Server built:   Jul 15 2009 09:02:25
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.3.9, APR-Util 1.3.9             ###错误的!
Compiled using: APR 1.2.7, APR-Util 1.2.7            ###不兼容!
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)

 

那为什么会装载1.3.9呢?执行export看看这个LD_LIBRARY_PATH环境变量吧!有没有指向类似/usr/local/apr/lib呢?

如果有的话,一般有人设置在这个文件:/etc/profile

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

先把它注释并重新登录用户,再执行./httpd -V应该这样就可以了:

 

Server version: Apache/2.2.3
Server built:   Jul 15 2009 09:02:25
Server's Module Magic Number: 20051115:3
Server loaded:  APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)

 

那么是谁配置了LD_LIBRARY_PATH环境变量呢?我在网上查到安装tomcat的时候有用到,那应该是我同事加的,加完之后没有重启httpd是不会发现错误的。

 

唉,真郁闷。。。。。。。。。。。。。。。。。。。。。。。。

分享到:
评论
1 楼 s21109 2011-10-09  
LD_LIBRARY_PATH 是不是服务器安装的tomcat配置了apr模式

相关推荐

    apr-1.7.0-apr_escape_test_char.h.zip

    编译 apr 1.7.0 需要的头文件 apr_escape_test_char.h --------------------- /* this file is automatically generated by gen_test_char, do not edit. "make include/private/apr_escape_test_char.h" to ...

    python_ldap-3.4.4-cp38-cp38-win_amd64.whl.zip

    ldap_conn = ldap.initialize('ldap://your.ldap.server') # 绑定(登录)到目录 ldap_conn.bind_s('binddn', 'password') # 执行搜索操作 result = ldap_conn.search_s('base_dn', ldap.SCOPE_SUBTREE, '(&...

    python_ldap-3.2.0-cp35-cp35m-win32

    python_ldap-3.2.0-cp35-cp35m-win32

    php_ldap.dll集合

    而LDAP(Lightweight Directory Access Protocol)是一种应用层协议,用于访问和管理分布式目录服务,如用户账户信息、组织结构数据等。 `php_ldap.dll`是PHP与LDAP进行交互的一个动态链接库文件。在Windows操作...

    python_ldap‑3.4.0‑pp38‑pypy38_pp73‑win_amd64.whl

    离线安装包,测试可用。使用 pip install [完整包名] 进行安装

    python_ldap-3.4.4-cp312-cp312-win_amd64.whl.zip

    Python LDAP库是用于在Python应用程序中与 Lightweight Directory Access Protocol (LDAP) 服务器进行交互的工具。这个`python_ldap-3.4.4-cp312-cp312-win_amd64.whl`文件是专门为Python 3.12版本编译的Windows 64...

    python_ldap-3.1.0-cp36-wheel.zip

    总的来说,Python LDAP库是Python开发者在处理与LDAP服务器交互任务时的强大工具,它简化了目录服务的编程,提高了开发效率,并且能广泛应用于身份验证、权限管理和数据管理等场景。通过正确使用和理解这个库,...

    LdapBrowser282.rar_LdapBrows_LdapBrowser.282_ldap_ldapBrowser_op

    6. **日志记录与调试**:对于开发和故障排查,LdapBrowser提供了日志记录和调试功能,可以帮助分析和解决问题。 描述中提到“一个网络数据库工具,希望大家喜欢”,这表明LdapBrowser不仅是一个实用工具,而且易于...

    基于LDAP的SASL

    安全认证安全认证安全认证安全认证安全认证安全认证安全认证安全认证

    ldap_delete.rar_c++ ldap_ldap_ldap删除条目

    本篇文章将深入探讨如何使用C++进行LDAP条目的删除操作,基于"ldap_delete.rar_c++ ldap_ldap_ldap删除条目"的标题和描述,我们将重点关注C++编程中的LDAP操作,特别是删除条目这一环节。 首先,要实现C++中对LDAP...

    python_ldap-3.3.1-cp37-cp37m-win_amd64

    python_ldap-3.3.1-cp37-cp37m-win_amd64

    ldap-example.zip_ldap_php directory_php ldap_zip

    1. **连接设置**:创建一个`ldap_connect()`函数调用,指定AD服务器的地址和端口,可能还包括使用SSL或TLS进行安全连接。 2. **绑定操作**:使用`ldap_bind()`进行身份验证,通常需要提供一个管理员账号或者用户的...

    Bugzilla所需Perl模块

    This zip contains perl modules that ...42: 42_perl-ldap 43: 43_Data-HexDump 44: 44_RadiusPerl 45: 45_FCGI 46: 46_constant 47: 47_Crypt-SSLeay 48: 48_Task-Weaken 49: 49_SOAP-Lite 50: 50_HTML-Scrubber

    php_ldap.dll

    1. 连接到LDAP服务器:通过提供服务器地址、端口、凭据等信息,建立到 LDAP 服务器的连接。 2. 搜索目录:使用过滤器和搜索基DN(Distinguished Name)来查找符合特定条件的对象。 3. 绑定和解绑:模拟用户身份进行...

    python_ldap-3.4.4-cp37-cp37m-win32.whl.zip

    Wheel是预先构建的Python二进制包,旨在解决Python安装过程中常见的编译问题,尤其是对于那些需要编译C扩展的库。使用`.whl`文件进行安装可以显著提高安装速度,因为它避免了源码编译步骤。你可以通过Python的`pip`...

    python_ldap-3.4.0-cp38-cp38-win_amd64.whl

    python_ldap-3.4.0-cp38-cp38-win_amd64.whl

    python_ldap-3.4.4-cp37-cp37m-win_amd64.whl.zip

    这种格式旨在解决Python包安装过程中的依赖问题,提高安装速度,特别是对于包含C扩展的包,它们通常需要编译,而.whl文件已经完成了这个步骤。使用`pip install`命令可以直接安装.whe文件,避免了编译和配置的问题。...

    Sync_Data.rar_C LDAP AD_c++ ldap_ldap_数据同步

    本文将深入探讨标题“Sync_Data.rar_C LDAP AD_c++ ldap_ldap_数据同步”所涉及的知识点,包括C++ LDAP库的使用、Active Directory(AD)集成以及数据同步策略。 1. **C++ LDAP库**: LDAP(轻量级目录访问协议)...

    python_ldap-3.4.4-cp39-cp39-win32.whl.zip

    Python LDAP库是一个用于Python编程语言的开放源代码模块,它允许开发者与Lightweight Directory Access Protocol (LDAP)服务器进行交互。这个“python_ldap-3.4.4-cp39-cp39-win32.whl.zip”文件是Python LDAP库的...

    python_ldap‑3.4.0‑cp310‑cp310‑win_amd64.whl

    离线安装包,测试可用。使用 pip install [完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics