我是软件包创建的新手,我正在尝试创建一个 .deb 软件包,并在我的所有库和可执行文件中不断获取“unstripped-binary-or-object”。
我已经在目录树中设置好了所有内容(以及包含控制文件的 DEBIAN 文件夹),然后执行
fakeroot dpkg-deb --build ./mypackage
当我用
lintian mypackage.deb
我收到了那个错误。
有什么想法或建议吗?
谢谢
答案1
使用objcopy
或strip
从 中binutils
删除您正在构建的二进制文件中的调试符号。但是,我建议您保留二进制文件的未删除副本,或者 - 如果使用objcopy
- 只需将调试符号拆分为单独的文件,以后可以将其与调试器一起使用。
顺便说一句,软件包通常*-devel
带有相应*
软件包的符号。因此,如果您要向公众发布此软件包,您可能需要考虑另外创建其中一个。
对于 strip 来说,一个常见的用途是只去除调试符号:
strip -S -o [stripped-file] [input-file]
与 相对应的开关strip -S
是objcopy -g
,或者只是使用对两者都适用的长形式(但并非在我必须使用的所有平台上strip
)--strip-debug
:。
对于使用 拆分调试符号的描述用法,请查看中的objcopy
选项。--only-keep-debug
man objcopy