pkg-configを使用してインストールされたプログラムのバージョンをテストしますか?

pkg-configを使用してインストールされたプログラムのバージョンをテストしますか?

Autotoolsスクリプトではなくシェルスクリプトを使用しています。pkg-config(1)マニュアルページによると、「インストールされたライブラリのメタ情報を返す」。たとえば、次の場所にインストールされているNetttle 3.4を確認します/usr/local

$ pkg-config --exists --print-errors "nettle >= 3.1"
$ echo $?
0

Autoconfを確認しようとするとエラーが返されます。マニュアルページによると、次のように予想されます。

$ pkg-config --exists --print-errors "autoconf >= 2.63"
Package autoconf was not found in the pkg-config search path.
Perhaps you should add the directory containing `autoconf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'autoconf' found

pkg-configライブラリではなくパッケージをテストするために使用できますか?それ以外の場合は、インストールされたプログラムに関する情報を提供するための同様のツールがありますか?

答え1

このpkg-configツールは、特定のライブラリパッケージをコンパイルしてリンクするときにどのコンパイラとリンカフラグを使用する必要があるかを照会し、そのパッケージの特定のバージョンを主張するために主に使用されます。

ソフトウェアは、他のプログラムが使用できるヘッダーやライブラリ(同様)を提供しないため、ファイルをautoconf提供しません。autoconf.pcpkg-configautomake

Linuxで使用しているパッケージマネージャによっては、それを使用するか、dpkg-queryDebianベースのシステムなどの関連ツールを使用してインストールされているパッケージの状態を照会できます。

関連情報