error while loading shared libraries: libssl.so.4问题解决方法

error while loading shared libraries: libssl.so.4问题解决方法
笔者今天欲启动一个lighttpd,报error while loading shared libraries: libssl.so.4的错误,本质原因是缺少openssl的so,现总结解决方案如下:

(1)下载并安装openssl
地址为:http://www.openssl.org/source/
笔者下载的版本为openssl-0.9.8r.tar.gz
安装命令为:
tar -zxvf openssl-0.9.8r.tar.gz
cd openssl-0.9.8r
./Configure
./config
make
make install
(注意使用root账号)

(2)符号链接libssl.so.4
命令为:
ln -s /lib/libssl.so.0.9.8e /usr/local/lib/libssl.so.4

(3)环境变量中加入LD_LIBRARY_PATH,让其找得到libssl.so.4的路径
在~/.bashrc中加入
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

操作完成之后,启动lighttpd仍有错误:
error while loading shared libraries: libssl.so.4: wrong ELF class: ELFCLASS32
原因是:被链接的so是32bit的,而当前操作系统是64bit的,只需链接正确的so即可
命令为:
ln -s /lib64/libssl.so.6 /usr/local/lib/libssl.so.4(删掉之前错误的软链,再建立新的软链)
ln -s /lib64/libcrypto.so.6 /usr/local/lib/libcrypto.so.4(还要链这一个)

评论关闭。