找不到共享库,但存在

时间:2020-05-28 07:04:07

标签: linux shared-libraries ldd

关于以下错误,我想知道在ldd显示其路径时无法打开库文件libpcre.so.3

$ sudo ./nginx
./nginx: error while loading shared libraries: libpcre.so.3: cannot open shared object file: No such file or directory
$ ldd nginx
        linux-vdso.so.1 =>  (0x00007ffedaf6a000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f47c7bd6000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f47c79b9000)
        libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f47c7781000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f47c7511000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f47c72f7000)
        libc.so.6 => /opt/glibc-2.23-install/libc.so.6 (0x00007f47c6f56000)
        /opt/glibc-2.23-install/lib/ld-2.23.so => /lib64/ld-linux-x86-64.so.2 (0x00007f47c7dda000)
$ ls -l /lib/x86_64-linux-gnu/libpcre.so*
lrwxrwxrwx 1 root root     17 Oct 31  2018 /lib/x86_64-linux-gnu/libpcre.so.3 -> libpcre.so.3.13.2
-rw-r--r-- 1 root root 456632 Mar  25  2016 /lib/x86_64-linux-gnu/libpcre.so.3.13.2

那我该如何解决?

更新:

请注意,我正在尝试使用自定义glibc构建,其中在nginx Makefile中使用了以下开关。

-Wl,--rpath=/opt/glibc-2.23-install \
-Wl,--dynamic-linker=/opt/glibc-2.23-install/lib/ld-2.23.so

其他信息如下所示

$ file /lib/x86_64-linux-gnu/libpcre.so* ./nginx
/lib/x86_64-linux-gnu/libpcre.so.3:      symbolic link to libpcre.so.3.13.2
/lib/x86_64-linux-gnu/libpcre.so.3.13.2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=390b2228e9a1071bb0be285d77b6669cb37ce628, stripped
./nginx:                                 ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /opt/glibc-2.23-install/lib/ld-2.23.so, for GNU/Linux 2.6.32, BuildID[sha1]=bfcf0f7a860100b4b805f5bbf03f26f16202b4e5, not stripped

0 个答案:

没有答案
相关问题