linux pcre路径,PCRE和Nginx安装问题

启动nginx发现

nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

遂检查pcre的安装,由于是在测试安装脚本,遂检查安装是否成功,从脚本运行来看,是成功编译了的,后来又重新编译pcre

configure    正常

make         正常

make install 出错如下

test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"

/usr/bin/install -c -m 644 pcre.h pcrecpparg.h pcre_stringpiece.h '/usr/local/include'

test -z "/usr/local/lib/pkgconfig" || /bin/mkdir -p "/usr/local/lib/pkgconfig"

/usr/bin/install -c -m 644 libpcre.pc libpcreposix.pc libpcrecpp.pc '/usr/local/lib/pkgconfig'

make  install-data-hook

make[3]: Entering directory `/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'

ln -s pcre_assign_jit_stack.3           /usr/local/share/man/man3/pcre16_assign_jit_stack.3

ln -s pcre_compile.3                    /usr/local/share/man/man3/pcre16_compile.3

ln: creating symbolic link `/usr/local/share/man/man3/pcre16_compile.3': File exists

make[3]: *** [install-data-hook] Error 1

make[3]: Leaving directory `/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'

make[2]: *** [install-data-am] Error 2

make[2]: Leaving directory `/usr/local/src/itnihao_lnmp/nginx/pcre-8.30'

make[1]: *** [install-am] Error 2

make[1]: Leaving directory `/usr/local/src/itnihao_lnmp/nginx/pcre-8.30

处理办法

rm /usr/local/share/man/man3/pcre* -rf

make clean

make install 立即OK,说明刚才的prce安装是没有问题的

下面查看nginx的lipcre问题

find / -name libpcre.so.1

/usr/local/lib/libpcre.so.1

ldconfig -v|grep pcre

ldconfig: Path `/usr/local/lib' given more than once  报错了

libpcrecpp.so.0 -> libpcrecpp.so.0.0.0

libpcre.so.1 -> libpcre.so.1.0.0

libpcreposix.so.0 -> libpcreposix.so.0.0.0

libpcre.so.0 -> libpcre.so.0.0.1

libpcrecpp.so.0 -> libpcrecpp.so.0.0.0

libpcreposix.so.0 -> libpcreposix.so.0.0.0

cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

/usr/local/include

/usr/local/lib  提示多了这行,删除掉

ldconfig -v|grep pcre

libpcrecpp.so.0 -> libpcrecpp.so.0.0.0

libpcre.so.1 -> libpcre.so.1.0.0

libpcreposix.so.0 -> libpcreposix.so.0.0.0

libpcre.so.0 -> libpcre.so.0.0.1

libpcrecpp.so.0 -> libpcrecpp.so.0.0.0

libpcreposix.so.0 -> libpcreposix.so.0.0.0

再次启动nginx,则OK

总结:上面的问题其实是pcre的动态库路径不对,其实无需编译pcre,为画蛇添足的步骤。pcre再次编译出问题是由于之前安装过的,写man目录文件失败导致。0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值