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

我猜测你使用的源代码构建版本中缺少软件包安装中使用的一些构建选项(假设代码更改不会导致这种情况发生)SF 问题可能是一个很好的开始,可以解决该问题)显然你可以使用自动适配在安装时引入任何依赖项,但显然没有明显的工具来检索原始编译所使用的构建选项。

相关内容