【问题标题】:Building a debian package that creates a shared object构建一个创建共享对象的 debian 包
【发布时间】:2012-05-29 21:26:39
【问题描述】:

我有一个构建共享对象库的库。它是 git.netfilter.org 上的 libnetfilter_cthelper 库。 ./conifgure;make;make install 上的库安装共享对象库。当我创建一个 debian 包时,它确实创建了一个共享对象,但它没有任何符号。

是否有任何简单的方法来创建构建共享对象文件的 debian 包?有什么办法调试吗?或者有什么好的教程。我一直在阅读很多没有清晰步骤来理解或构建包的东西。

【问题讨论】:

  • 到目前为止你一直在用什么? debhelperdh-make 从你的问题中浮现出来,但如果你还没有尝试过,我会有点惊讶。
  • @tripleee 好吧,是的。我最初从我们工作的模板开始,但最终意识到模板不适合共享对象。最后,用 dh-make 重新打包了所有东西,现在似乎可以正常工作了,但我不知道那里出了什么问题。

标签: debian deb


【解决方案1】:

最好的参考信息是 Dancer's,如果您想了解预期会发生什么以及它可能破坏的所有方式:http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html。不过,这可能不是您想要的。这不是一个教程,永远不能称为“干净的步骤”。

如果没有看到您的 debian/rules 文件,就很难知道您的情况可能发生了什么问题。你的意思是你的包中的 .so 文件没有导出任何符号,或者它没有任何调试符号?我会通过首先检查$builddir/debian/{$packagename,tmp} 下的foo.so 版本是否导出了正确的符号来开始调试这样的问题。如果不是,则问题出在上游构建系统或您使用它的方式上。

【讨论】:

  • 感谢教程,它有我不知道的东西,是一个很好的参考。当我在上游源上使用 dh_make 重新打包所有内容时,问题得到了解决。
猜你喜欢
  • 2012-07-02
  • 2023-03-18
  • 1970-01-01
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 2012-02-15
  • 1970-01-01
相关资源
最近更新 更多