从源代码编译库,如何覆盖当前包?

从源代码编译库,如何覆盖当前包?

这是一个简短的故事。

我想从源代码编译最新的 Transmission 客户端,但为了做到这一点,我需要 libevent-2 库,而 Ubuntu 10.04 的存储库中没有这个库。

因此,我获取了 libevent-2 的源代码,编译并安装了它(sudo make install)。

我现在可以编译 transmission 并安装它。但是,当我尝试启动它时/usr/local/bin/transmission-gtk,出现以下错误:

/usr/local/bin/transmission-gtk: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

但是,目录libevent-2.0.so.5中的是/usr/local/lib而不是/usr/local/lib。这可能是问题所在吗?我该怎么做?

答案1

将 LD_LIBRARY_PATH 设置为“/usr/local/lib”

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/usr/local/lib"在 Bashexport 中 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/usr/local/lib"

答案2

显然无法正确设置我的路径,像这样的符号链接起作用了:

sudo ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

相关内容