【发布时间】:2015-05-31 09:50:42
【问题描述】:
我正在使用 DebHelper 创建一个 Debian 软件包,在 Debian 的最新稳定版本下。
“debian/control”文件包含以下几行:
Depends:
${shlibs:Depends},
${misc:Depends}
因此,在创建的包中会自动设置依赖项。但是,libstdc++ 要求的版本太严格了。该软件包需要 libstdc++6 (>= 4.9),我希望将其设置为 libstdc++6 (>= 4.8)。
为此,在阅读page 和page 时,我编辑了“debian/rules”文件,现在看起来像:
#!/usr/bin/make -f
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
%:
dh $@
override_dh_makeshlibs:
dh_makeshlibs -V 'libstdc++6 (>= 4.8)'
然而最后两行并没有成功。有没有人已经在 Debian 软件包上进行过这种自定义?
谢谢
【问题讨论】:
-
我已阅读文档,您提出的解决方案似乎有效。当您检查生成的
DEBIAN/control文件时,它是否包含任何特定版本?你说你正在为最新的 Debian 稳定版(我假设是 jessie)构建包,其中包libstdc++64.9.2。在这种情况下是否有必要放宽版本要求? (换句话说,针对不同发行版的软件包不会更好地工作吗?) -
打包完成后我检查的结果是 DEBIAN/control。正如你所说,我有 Jessie,它封装了 lidstdc++4.9.2。我不知道这是否是个好主意,但其他人说该软件可以使用 4.8 版本构建,所以我可以放宽包中的版本。因此,该软件包将与其他基于 debian 的发行版兼容。
标签: debian package libstdc++ debhelper