2013-07-23 79 views
1

我想编译apache 2.4.6。我已经成功编译并安装了最新的apr(1.4.x)和apr-util(1.5.x)。apache 2.4.6,与模块apr挂钩错误

这里是我的环境设置,编译设置和修改每个包后LD_LIBRARY_PATH:

ENVPREFIX=/auto/custom-libs/linux/centos/6.x/x86_64/pkgs/httpd-2.4.6/ 
INSTALLPREFIX=${ENVPREFIX} 
export PATH=${INSTALLPREFIX}/bin:$PATH 

# APR compilation settings 
./configure --prefix=${INSTALLPREFIX} --enable-other-child --enable-allocator-uses-mmap --enable-threads 
make -j16 
make install 
export LD_LIBRARY_PATH=${INSTALLPREFIX}/lib:$LD_LIBRARY_PATH 

# APR-util compilation settings 
./configure --prefix=${INSTALLPREFIX} --with-apr=${ENVPREFIX}/bin/apr-1-config --with-mysql=/usr/bin/mysql --with-crypto --with-ldap-lib=${ENVPREFIX}/lib --with-ldap-include=${ENVPREFIX}/include --with-openssl=/usr/lib64/openssl 
make -j16 
make install 
export LD_LIBRARY_PATH=${INSTALLPREFIX}/lib/apr-util-1/:$LD_LIBRARY_PATH 

# Apache httpd compilation parameters 
./configure --prefix=${INSTALLPREFIX} --enable-mpms-shared='all' --enable-rewrite --enable-ssl --enable-proxy --enable-cache --enable-pie --enable-mods-shared='all' --enable-ssl-staticlib-deps --enable-session --enable-proxy-balancer --enable-usertrack --with-apr=${ENVPREFIX}/bin --with-apr-util=${ENVPREFIX}/bin 
make -j16 
make install 
export LD_LIBRARY_PATH=${INSTALLPREFIX}/lib/modules/:$LD_LIBRARY_PATH 

一切都很好,直到我开始香草网站。所有我改变的是一个非标准的8000端口和用户名。不幸的是,我遇到了以下错误,它暗示了某些版本与最新的apache 2.4.6代码附带的模块不兼容。

命令:

httpd -f `pwd`/httpd.conf 

错误输出:

httpd: Syntax error on line 137 of /home/prigor/codebase/pediatrics/webservices/pedws/pedws/apache/httpd.conf: Cannot load modules/mod_session_cookie.so into server: /auto/igb-libs/linux/centos/6.x/x86_64/pkgs/httpd-2.4.6/modules/mod_session_cookie.so: undefined symbol: ap_hook_session_save 

即使禁用该模块后,相同的错误与剩余的模块继续存在。也许我使用的是apr和apr-util的不正确版本?也许我在某处设置了错误的配置开关?

在此先感谢您的帮助!

回答

1

由于某些原因,2.4.6的某些模块与apr/apr-utils不兼容。只需要注释掉导致错误的模块。

1

几分钟前我有过类似的问题。但是,一些测试后,我意识到,真正的问题是这条线(从httpd.conf):

#LoadModule session_module modules/mod_session.so 

它配备建筑/安装后立即评论。取消注释该行后(保留mod_session_cookie和其他也未注释),一切正常。

我也在使用HTTPD 2.4.6APR 1.4.8

0

只是取消注释这条线(从httpd.conf):

#LoadModule session_module modules/mod_session.so