2012-05-29 51 views
0

我有一個庫,它構建了一個共享對象庫。它是git.netfilter.org上的libnetfilter_cthelper庫。該庫在做./conifgure;make;安裝時,安裝共享對象庫。當我創建一個debian包時,它確實創建了一個共享對象,但它沒有任何符號。構建一個創建共享對象的debian包

是否有任何簡單的方法來創建一個生成共享對象文件的debian包?任何方式來調試它?或者有沒有好的教程。我一直在閱讀很多沒有理解或構建軟件包的步驟。

+1

你到目前爲止使用了什麼? 'debhelper'和'dh-make'從你的問題中浮現出來,但如果你還沒有嘗試過,我有點驚訝。 – tripleee

+0

@tripleee好,是的。我最初開始使用我們的模板,在那裏工作,但最終意識到模板不適合共享對象。最後,用dh-make重新打包所有東西,現在看起來工作正常,但我不知道那裏有什麼壞處。 –

回答

1

對於這個最好的參考信息是舞者的,如果你想知道所有預計會發生的事情以及它可以突破的所有方式:http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html。雖然這可能不是你要找的東西;它不是教程,也不能稱爲「乾淨的步驟」。

沒有看到你的debian/rules文件,很難知道你的情況可能會破壞什麼。你的意思是你的包中的.so文件沒有導出任何符號,或者它沒有任何調試符號?我會開始調試這樣的問題,首先檢查$builddir/debian/{$packagename,tmp}下的foo.so版本是否導出了正確的符號。否則,問題出現在上游構建系統或您如何使用它。

+0

感謝您的教程,它有我不知道的東西,是一個很好的參考。當我用上游源代碼中的dh_make重新打包所有內容時,問題得到解決。 –