链接版本化共享库

链接版本化共享库

我已经使用 Ubuntu 几年了,我经常遇到的一个问题是链接到特定版本的共享对象文件。例如,我尝试安装图形并显示错误,指出无法找到库lxml2。我安装了 synaptic libxml2 包,因此我只需找到共享对象并设置链接即可。以下是我解决问题的方法:

jake@linux:~/code/rl/setup$ locate libxml2.so
/usr/lib/x86_64-linux-gnu/libxml2.so.2
/usr/lib/x86_64-linux-gnu/libxml2.so.2.7.8

jake@linux:~/code/rl/setup$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libxml2.so.2 /usr/lib/x86_64-linux-gnu/libxml2.so

这种问题经常发生,看起来操作系统应该处理这个问题。所以我最后问自己,“为什么链接器不寻找共享对象的特定版本?为什么突触不自己创建这些链接?”

有没有更好的方法来解决这些问题?是否有工具、最佳实践或其他解决方案,以便我不必反复手动查找和链接我的 SO?还是我的看法错误?

谢谢!

相关内容