cannot load shared library that exists in /usr/local/lib (Fedora x64)

我只是一个虾纸丫 提交于 2019-12-18 15:54:10

问题


When attempting to run a program I just compiled successfully, I get the following error:

./src/sensors/laser_scan_producer: error while loading shared libraries: liblcm.so.1: cannot open shared object file: No such file or directory

ls /usr/local/lib/liblcm* yields

/usr/local/lib/liblcm.la  
/usr/local/lib/liblcm.so  
/usr/local/lib/liblcm.so.1  
/usr/local/lib/liblcm.so.1.2.0

I have executed sudo ldconfig several times and added /usr/local/lib to LD_LIBRARY_PATH for the sake of redundancy.

This exhausts the list of answers I've seen whilst grepping around stackOverflow.

Anyone spot the problem?


回答1:


Thank you to @Joachim_Pileborg:

ldconfig uses the file /etc/ld.so.conf. You can add /usr/local/lib to that file, re-run ldconfig and try again

Doing so fixed the problem, although I find it odd that /usr/local/lib wouldn't have been checked in the natural course of things.




回答2:


I found a working solution for both /usr/local/lib and /usr/local/lib64 directories in this commit.

First run this command as root to add those directories.

tee /etc/ld.so.conf.d/local.conf <<EOF
/usr/local/lib
/usr/local/lib64
EOF

Next run as root:

ldconfig


来源:https://stackoverflow.com/questions/12045563/cannot-load-shared-library-that-exists-in-usr-local-lib-fedora-x64

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!