1

コンパイルしよgtk+-3.2.0うとしていますが、次のエラー メッセージが表示されます./configure

checking for GLIB - version >= 2.29.14... 
*** 'pkg-config --modversion glib-2.0' returned 2.32.4, but GLIB (2.34.0)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error: 
*** GLIB 2.29.14 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.

私は実際に GLIB 2.34.0 を持っています (これもソースからコンパイルしました) が、gtk でライブラリを知る方法がわかりません。PKG_CONFIG_PATH を、新しい glib のインストール先のパスを指すように変更しましたldconfigが、違いはありません。/etc/ld.so.conf を変更することによって、どうすればよいか本当にわかりません。

4

1 に答える 1

1

PKG_CONFIG_PATH使用する GLib バージョンの .pc ファイルがあるディレクトリへのパスが含まれている必要があります。

それ以外の場合は、パッケージ マネージャーを使用して、使用しない .pc ファイルをインストールしたパッケージを検出します。そして、そのパッケージを削除します。たとえば、rpm ベースのディストリビューションでは、次を実行します。

strace -eopen pkg-config --modversion glib-2.0 2>&1 | grep "\.pc"

pkg-config によって検出された .pc ファイルの場所を返します。

open("/usr/lib64/pkgconfig/glib-2.0.pc", O_RDONLY) = 3

次に、このファイルが属するパッケージを検出します。

rpm -qf /usr/lib64/pkgconfig/glib-2.0.pc

私の Mageia 2 システムでの結果は次のとおりです。

lib64glib2.0-devel-2.32.4-1.1.mga2

このパッケージを削除すると、邪魔になる .pc が削除されます。ただし、PKG_CONFIG_PATHパッケージを削除すると、まだ使用したい他の依存関係も削除しようとする場合は、この方法を優先する必要があります。

于 2012-11-25T01:05:46.447 に答える