
autotoolsをビルドシステムとして使用してパッケージをコンパイルしました(autoreconf
、、、、)。./configure
make
make install
./configure
パッケージが紛失した場合は停止してください。
欠落しているパッケージごとにその名前を参照し、apt install package
使用できない場合はソースからコンパイルします。
その後、再実行すると、./configure
満たされていない他の依存関係の名前が表示されます。
欠落しているパケットが1〜2個しかない場合は問題ありません。しかし、19個あります!
libmspack-dev
libglib2.0-dev
libpam0g-dev
libssl-dev
libxml2-dev
libxmlsec1-dev
libx11-dev
libcunit1-dev
libxext-dev
libxinerama-dev
libxi-dev
libxrender-dev
libxrandr-dev
libxtst-dev
libgdk-pixbuf2.0-dev
libgtk-3-dev
libgtkmm-3.0-dev
libtool
dnet
./configure
エラーを続行して、不足しているパッケージをすべて一度に表示して、一度にすべてをインストールできるようにしたいと思います。そうでなければ、19番を走るのは./configure
長くて痛いでしょう。apt install
答え1
あなたの場合、簡単な方法はパッケージをインストールすることですopen-vm-tools
。
問題を解決するために、欠落しているすべてのパッケージを一度に一覧表示する明確な方法はありません。これは主に意図的に設計されたものではなく、configure
スクリプトで作成者が何でもできるようにするためです。したがって、進行方法とかどうかを事前に知る方法はありません。進むのは安全です。発生する可能性があるこの種の問題の例は、以前のテスト結果に基づくテストです。例えばインストールされているプログラムを確認し、インストールされていない場合は失敗し、インストールされている場合は後続のテストに使用します。プログラムが存在しない場合は、続行してもあまり役に立ちません。
configure
ただし、エラーが発生したときに終了しないように調整すると、便利な結果が得られることがよくあります。通常、これにはAC_MSG_ERROR
、AC_MSG_WARN
使用configure.ac
されているすべてのM4ライブラリを置き換える作業が含まれますconfigure.ac
。
sed -i 's/AC_MSG_ERROR/AC_MSG_WARN/g' configure.ac m4/*.m4
autoreconf -i
./configure ...
「警告:」メッセージを探してください。
configure.ac
もちろん、ソフトウェアを「正しく」構築する前に、M4ライブラリを復元する必要があります。
より広い観点から、依存関係を決定する他の方法がある。ほとんどの場合、ドキュメント(README
、INSTALL
...)にリストされており、時々人気のあるディストリビューションに対応するパッケージ名もあります。もう一つの便利な点は、それconfigure
自体で実行または./configure --help
読み取ることができることですconfigure.ac
(または、使用しているビルドツールに適したファイルであれCMakeLists.txt
ば何でも可能です)。meson.build
表示しているソフトウェアがLinuxディストリビューションにパッケージされている場合は、そこでもメタデータを表示できます。もちろん、これはパッケージ化されているソフトウェアのバージョンに固有のものであり、管理者のパッケージオプション(apt showsrc ...
Debian派生製品)を反映しています。
答え2
この回答は、DebianとUbuntuに欠落している依存関係をインストールする簡単な方法を示すことです(私が正しく理解している場合は、実際に達成したいものです)。ただし、すべての依存関係を一度に報告することに関する質問は扱いません./configure
。
ビルドするソフトウェアがすでにリポジトリにある場合(Ubuntuの場合のようにopen-vm-tools
)、次のことができます。
$ apt-get build-dep <packagename>
これにより、特定のバージョンのパッケージを構築するために必要なすべての依存関係がインストールされます。もちろん、これは2つのバージョン間で依存関係のリストが異なる可能性があるため、同じではありませんが、ほとんど(またはすべての)欠落している依存関係をインストールする必要があります。