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の依存関係を考慮することもできます。