尝试运行我刚编译成功的程序时,出现以下错误:
./ 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时看到的答案列表。
有人发现了这个问题吗?
答案 0 :(得分:11)
感谢@Joachim_Pileborg:
ldconfig使用文件/etc/ld.so.conf。您可以添加/ usr / local / lib 该文件,重新运行ldconfig并重试
这样做解决了这个问题,虽然我觉得奇怪的是/ usr / local / lib不会在自然过程中被检查过。
答案 1 :(得分:0)
我为/ usr / local / lib和/ usr / local / lib64目录in this commit找到了一个可行的解决方案。
首先以根用户身份运行此命令以添加这些目录。
tee /etc/ld.so.conf.d/local.conf <<EOF
/usr/local/lib
/usr/local/lib64
EOF
下一步以root身份运行:
ldconfig