[英]cannot load shared library that exists in /usr/local/lib (Fedora x64)
尝试运行我刚编译成功的程序时,出现以下错误:
./src/sensors/laser_scan_producer:加载共享库时出错: liblcm.so.1 :无法打开共享对象文件:没有这样的文件或目录
ls /usr/local/lib/liblcm*
产生
/usr/local/lib/liblcm.la
/usr/local/lib/liblcm.so
/usr/local/lib/liblcm.so.1
/usr/local/lib/liblcm.so.1.2.0
我已多次执行sudo ldconfig
并为了冗余而将/ usr / local / lib添加到LD_LIBRARY_PATH。
这耗尽了我在看到stackOverflow时遇到的答案列表。
有谁发现了这个问题?
谢谢@Joachim_Pileborg:
ldconfig使用文件/etc/ld.so.conf。 您可以将/ usr / local / lib添加到该文件,重新运行ldconfig并重试
这样做解决了这个问题,虽然我觉得奇怪的是/ usr / local / lib不会在自然过程中被检查过。
我在此提交中找到了/ usr / local / lib和/ usr / local / lib64目录的工作解决方案。
首先以root身份运行此命令以添加这些目录。
tee /etc/ld.so.conf.d/local.conf <<EOF
/usr/local/lib
/usr/local/lib64
EOF
接下来以root身份运行:
ldconfig
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.