如何从源代码正确构建包

Posted

技术标签:

【中文标题】如何从源代码正确构建包【英文标题】:How to properly build package from sources 【发布时间】:2018-05-15 09:59:35 【问题描述】:

我正在使用ubuntu 18.04

我想修改和构建一个项目并将其安装为一个包。例如gstreamer1.5

所以我克隆 repo,修改代码并在项目文件夹中使用 ./autogen.shmake install。那我为什么在apt list 看不到呢? /usr/lib/x86_64-linux-gnu/gstreamer-1.5/中也没有文件。

我希望它像原始包一样运行的原因是因为我想构建另一个使用它的项目(kurento 媒体服务器)。所以我只想删除一些我不需要的插件,这些插件使用其他包作为我无法使用的依赖项。

【问题讨论】:

【参考方案1】:

apt list 来自 Linux 发行版。你定制的东西不会神奇地出现在那里。

如果您从自定义树中make install,您的库和插件将位于/usr/local/lib/..(注意local 路径)。您可以通过设置prefix 路径对其进行一些控制。请注意不要通过覆盖损坏的库来破坏系统。

【讨论】:

感谢您的回答。那么我可以将新的 .so 文件放在与原始文件相同的文件夹中以使其正常工作吗? 不推荐..您的系统需要这些库的更新版本。如果你降级其他事情可能会失败。

以上是关于如何从源代码正确构建包的主要内容,如果未能解决你的问题,请参考以下文章

如何从源代码构建 Debian/Ubuntu 软件包?

如何从源代码构建一系列 Qt5 子模块?

如何使用正确分发的发行版 pdb 文件构建 Qt5

构建引用 .PYD 的 Python 包/模块的正确方法是啥?

如何从 C# 中的代码构建 HTML

构建 Python 包成功,但是 Scikit-learn 构建不正确