ソースからプログラムをコンパイルするために必要なライブラリをインストールするための自動ツールはありますか?

ソースからプログラムをコンパイルするために必要なライブラリをインストールするための自動ツールはありますか?

config、cmake、autoconf、または保持しているライブラリ/依存関係の一致者の出力に基づいて、デプロイメントリポジトリに必要なパッケージ/ソースをインストールするためのツールがあるかどうか疑問に思います。

つまり、どのライブラリが必要かを知らずにソースからプログラムを構築したい場合は、リポジトリに基づいて必要なパッケージをインストールしてライブラリの依存関係を解決できるツールがあります。

私はあなたにランダムな例を挙げます。
しばらく前に使用したかったです。オーストリアのセクション。 Ubuntu 14.04用にパッケージ化されていないので、直接ビルドする必要がありました。
追加情報は、./configure を最初に実行する必要があることを示しています。 ./configureを一度実行しましたが、「popt」ライブラリが見つからないというエラーが発生しました。私はインターネットを見つけて、このライブラリにどのdebパッケージをインストールする必要があるのか​​を調べ、それをインストールして./configureを再実行しました。
第二に、無料のライブラリが見つからないというエラーが再び発生します。もう一度必要なライブラリを見つけ、Ubuntuの場合はbinutils-devであることがわかりました。ところでインストールしようとすると動作しません。興味深いことに、このライブラリはubuntu 12.04用のbinutils-devパッケージにありますが、ubuntu 14.04用のlibiberty-devパッケージにはありません。
第三に、ついにプログラムをコンパイルして実行できました。

ベストアンサー1

いいえ、依存関係を完全に自動的に推論することはできません。

梱包しておくとapt-get build-dep oprofile役に立つと思います。他の場所でパッケージを見つけることができれば、そこで依存関係を見つけることができます。たとえば、パッケージがディストリビューションの次のバージョンに存在する場合です。たとえば、次のようになります。

http://archive.ubuntu.com/ubuntu/pool/universe/o/oprofile/oprofile_1.0.0-0ubuntu9.dsc

(自分でコンパイルする予定の場合は、まず最新バージョンにアップグレードすることを検討してください!)

それに加えて、それを理解するには少し経験が必要です。configure残念ながら、スクリプトはパッケージ名を知らせませんが、通常は簡単に見つけることができます。デプロイ Web ページの検索機能を使用することもできます。特定のファイル名を含むパッケージを知らせることができます。

configure続行しようとするよりも、configure.acスクリプトを生成したファイルを調べる方が便利です(通常たくさん短い)。一部のオプション機能は、特定のライブラリがインストールされ、一部のフラグが指定されている場合にのみ使用できます。

LIBERTY_LIBS="-liberty $DL_LIB $INTL_LIB"
BFD_LIBS="-lbfd -liberty $DL_LIB $INTL_LIB $Z_LIB"
POPT_LIBS="-lpopt"

一般的なライブラリの依存関係です。

AC_ARG_ENABLE(gui,[  --enable-gui  compile with gui component (qt3|qt4|yes|no),
         if not given or set to yes, gui defaults to qt3],, enable_gui=qt3)

GUIが必要な場合は、QTの依存関係を考慮することもできます。

おすすめ記事