ldconfig命令恢复到以前的库版本

时间:2017-02-26 18:09:36

标签: c++ linux dynamic-linking

我一直在和this图书馆一起玩Raspberry Pi(Raspian / DietPi - Jessie),并遇到了一个特殊的情况。我做了一些本地更改,构建并安装了库,如下所示:

cmake ..
sudo make install
sudo ldconfig

但是后来我对库进行了更正,然后构建并安装了库,但是没有运行'ldconfig'命令。我运行了使用这些动态链接库的程序,它与更新的库一起使用。

然而,我意识到我忘记了'sudo ldconfig'并且在执行它之后,该程序显然与之前的库版本一起运行。我重复了几次并且必须实际使用'ldconfig -p'来查找.so文件的位置并删除它们以便下一个ldconfig将使用最新文件,然后问题得到解决。

为什么'sudo ldconfig'会抓住这些构建库的先前版本,它会从哪里获取它们?

1 个答案:

答案 0 :(得分:0)

您可以将当前的lib路径添加到etc / ld.so.conf,然后再次运行ldconfig。

或者您可以添加到LD_LIBRARY_PATH export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ new / path / newpath