无法加载/ usr / local / lib中存在的共享库(Fedora x64)

时间:2012-08-20 21:37:11

标签: c++ linker shared-libraries 64-bit fedora

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

  

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

有人发现了这个问题吗?

2 个答案:

答案 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