从一台机器打包apache,到另一台服务器解压运行,出现一个报错
/app/apache/bin/httpd:symbol lookup error :/app/apache/lib/libapr-1.so.0:undefined symbol:dlopen
是因为apr未安装的问题
安装apr
下载apr
选择之前的版本apr-1.6.2,apr-util-1.6.1Index of /dist/aprhttp://archive.apache.org/dist/apr/放到设备上解压
cd /usr/local/apr-1.6.2 #进入目录
./configure --prefix=/usr/local/apr
make
make install #编译安装
编译安装可能需要安装gcc,make,libtool,视情况
一般libtool是需要先安装的
可以通过设置yum源来进行
yum -y install gcc
yum -y install make
yum -y install libtool
本次遇到yum无法安装libtool
去直接下载libtool的tar包
Libtool- GNU Project - Free Software Foundationhttp://www.gnu.org/software/libtool/
cd /usr/local/libtool-2.4.6 #进入目录
./configure --prefix=/usr/local/libtool
make
make install #编译安装
需要yum -y install m4
./configure的时候出现了上图的提示,但接下去编译安装也完成了
安装apr时出现的问题
报错:
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
解决方法:
yum install libtool ——安装libtool ps:但是我已经安装了 还是出现这个问题
在configure里面把RM='$RM'改为RM='$RM -f'
完成后,重新执行配置apr命令,接着又出现下面错误
config.status: executing libtool commands
rm: cannot remove `libtoolT': No such file or directory
config.status: executing default commands
config.status: include/apr.h is unchanged
config.status: include/arch/unix/apr_private.h is unchanged
解决方法:
直接打开/usr/local/src/apr-1.5.1/configure 把 $RM “$cfgfile” 那行删除掉
$RM “$cfgfile” 大约在 42302 行
然后再重新运行 ./configure --prefix=/usr/local/apr 就可以了
安装apr-util
cd /usr/local/apr-util-1.6.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr ——配置
make ——编译
make install ——安装
安装apr-util时出现的问题
fatal error: expat.h: No such file or directory
解决办法:yum install expat-devel
是缺少依赖
安装完成后
把安装完的apr里面的libapr-1.so.0.6.2拷贝到apache/lib下面
mv libapr-1.so libapr-1.so-old #把原本的备份一下
mv libapr-1.so.0 libapr-1.so.0-old #把原本的备份一下
ln -s libapr-1.so.0.6.2 libapr-1.so #做新的软链接
ln -s libapr-1.so.0.6.2 libapr-1.so.0 #做新的软链接
然后/app/apache/bin/apachectl -k start 可以启动
另一种解决办法
把其他服务器已经安装好的apr里面的libapr-1.so.0.6.2拷贝过去
mv libapr-1.so libapr-1.so-old #把原本的备份一下
mv libapr-1.so.0 libapr-1.so.0-old #把原本的备份一下
ln -s libapr-1.so.0.6.2 libapr-1.so #做新的软链接
ln -s libapr-1.so.0.6.2 libapr-1.so.0 #做新的软链接
老样子,apache也能启动了