./nginx: error while loading shared libraries: libpcre.so.1

在CentOS 6.2 64bit上编译安装nginx-1.21出错

[root@CDN01 sbin]# ./nginx
./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

 
从错误看出是缺少lib文件导致,进一步查看下

[root@CDN01 sbin]# ldd $(which /usr/local/app/nginx/sbin/nginx)
        linux-vdso.so.1 =>  (0x00007fff4d78b000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7fa9545000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f7fa930e000)
        libpcre.so.1 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007f7fa8f6c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7fa9766000)
        libfreebl3.so => /lib64/libfreebl3.so (0x00007f7fa8d0a000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7fa8b05000)

可以看出 libpcre.so.1 => not found 并没有找到,得手动链接到/lib64目录下!

[root@CDN01 sbin]# ln -s /usr/local/lib/libpcre.so.1 /lib64

然后在启动nginx就OK了!
 
PS:看来linux 64bit的系统,编译安装的时候,默认的lib文件都是放于32位目录下,得手动链接下,得特别注意下!

猜你喜欢

转载自niuzhenxin.iteye.com/blog/1966663