OpenSceneGraph 无法找到库依赖项

OpenSceneGraph 无法找到库依赖项

我已经完成了 OpenSceneGraph 的安装说明,包括从源代码安装 OpenThreads。但是,osgviewer 无法找到运行所需的文件。

$ /usr/local/bin/osgviewer
/usr/local/bin/osgviewer: error while loading shared libraries: libOpenThreads.so.21: cannot open shared object file: No such file or directory
$ ls -l /usr/local/lib64 | grep libOpenThreads
lrwxrwxrwx. 1 root root      20 Jul 13 16:55 libOpenThreads.so -> libOpenThreads.so.20
lrwxrwxrwx. 1 root root      23 Jul 13 16:55 libOpenThreads.so.20 -> libOpenThreads.so.3.3.0
lrwxrwxrwx. 1 root root      23 Jul 13 15:12 libOpenThreads.so.21 -> libOpenThreads.so.3.3.1
-rwxr-xr-x. 1 root root   49688 Jul 13 16:55 libOpenThreads.so.3.3.0
-rwxr-xr-x. 1 root root   44464 Jul 13 02:59 libOpenThreads.so.3.3.1

有没有办法确定这个程序在哪里寻找库,以便我可以创建符号链接?它是否与路径类 envar 绑定?

答案1

查看库搜索路径中有哪些目录。

ldconfig -v 2>/dev/null | grep -v ^$'\t'

最有可能的/usr/lib已位于库搜索路径中。

然后创建一个符号链接。

cp -s /usr/local/lib64/libOpenThreads.so.21 /usr/lib

如果你想添加/usr/本地/lib64到库搜索路径,将其添加到/etc/ld.conf.so然后运行ldconfig

相关内容