.debファイルを構築するために共有ライブラリをパッケージ化するためにdebuildを使用しようとしています。 dh_make の実行時にライブラリオプションが選択されました。これをフォローしていました。ガイドライブラリを正常に構築した後、次のエラーが発生します。
dh_install
dh_install: mylibrary-dev missing files (usr/lib/lib*.a), aborting
make: *** [binary] Error 255
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1337:
dpkg-buildpackage -rfakeroot -D -us -uc failed
~/mylibrary-1.0/debian/mylibrary-dev/usr/lib/ のように、エラーにリストされたディレクトリを見てみましたが、空でした。共有ライブラリは実際に ~/mylibrary-1.0/debian/tmp/usr/lib/ にありますが、そこには *.a ライブラリはありません。 mylibrary-dev.install ファイルには以下がリストされます。
usr/include/*
usr/lib/lib*.a
usr/lib/lib*.so
usr/lib/pkgconfig/*
usr/lib/*.la
usr/share/pkgconfig/*
何らかの理由で、制御ファイルに追加のパッケージがリストされています。
Source: mylibrary
Priority: extra
Maintainer: satpal <satpal@unknown>
Build-Depends: debhelper (>= 7.0.50~), autotools-dev
Standards-Version: 3.8.4
Section: libs
Homepage: <insert the upstream URL, if relevant>
Package: mylibrary-dev
Section: libdevel
Architecture: any
Depends: mylibrary1 (= ${binary:Version})
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
Package: mylibrary1
Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: <insert up to 60 chars description>
<insert long description, indented with spaces>
ガイドで使用されているhelloworldの例に従って、ソースとパッケージのみを提供します。
私のルールファイルは次のとおりです。
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@
答え1
私は元の投稿に関するGillesのコメントをもう一度読んで、なぜ.aファイルがないのかを調べようとしました。これは、実際には設定.acで次のフラグを使用して静的ライブラリの作成を中断したためです。
AM_DISABLE_STATIC
それは私にとって良いことです。