apt-get 编译和手动源代码编译的区别

apt-get 编译和手动源代码编译的区别

我正在尝试手动替换 freeradius 的库。
一方面,我使用 apt-get install 安装了 freeradius。有一个库“libfoo-2.0.4.so”(我们称之为 lib(apt))。
另一方面,我使用源代码(来自 apt-get 源代码)修改库“libfoo-2.0.4.so”(我们称之为 lib(src))。我编译了源代码(./configure、make)以检索这个修改后的 lib(src)。(当我测试时,这个库运行良好)。

当我尝试手动用 lib(src) 替换 lib(apt) 时,在调用该库时 freeradius 出现段错误。
因此,似乎这些库不兼容。

可能是因为汇编问题?(预编译版本与本地编译)或者构建选项问题?

谢谢!
附言:我对这些网站还不熟悉,所以我不确定我是否把这篇文章发到了正确的地方。

答案1

当您使用 apt-get 安装库或任何其他软件包时,它总是稳定的,因此最值得推荐,因为它们经过测试,并且存储库由开发人员维护良好。当您通过编译源代码安装库或任何其他软件包时,稳定性的可能性较小。有时它也会导致问题。

使用 apt 版本的库替换 src 将不兼容并会产生问题。

更多信息请浏览Ubuntu

相关内容