11

尝试运行我刚刚成功编译的程序时,出现以下错误:

./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 时看到的答案列表。

有人发现问题吗?

4

2 回答 2

16

感谢@Joachim_Pileborg:

ldconfig 使用文件 /etc/ld.so.conf。您可以将 /usr/local/lib 添加到该文件,重新运行 ldconfig 并重试

这样做解决了问题,尽管我觉得奇怪的是 /usr/local/lib 在自然过程中不会被检查。

于 2012-08-21T14:41:49.860 回答
2

我在这个 commit 中找到了适用于 /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
于 2019-01-29T00:53:29.360 回答