web-dev-qa-db-ja.com

「pkg-config --modversion glib-2.0」は古いバージョンを報告します

Ubuntu 14.04 32ビットを使用しています。ソースコードからアプリケーションをコンパイルしようとしています。 makeプロセスのリンク中にエラーメッセージが表示されます./autogen.shおよび./configureはエラーなしで合格しました。このエラーが発生しましたundefined reference to g_variant_parse_error_quarkその関数を読んだg_variant_parse_error_quark 2.39でglib2に追加されました。インストールしたパッケージをチェックアウトしたところ、システムのlibglibバージョンが2.40.0であることがわかりました。しかしながら

 pkg-config --modversion glib-2.0

レポート2.38.2

少なくとも2つの異なるglib2がインストールされているようです。過去にソースからglib2を手動でインストールした可能性があります。

その問題を修正し、システムに正しい最新のライブラリを使用させるにはどうすればよいですか?

1
kenn

私が推測したように、それは複数のライブラリの競合から生じました。走るとき

 echo $PKG_CONFIG_PATH 

空行を返しました

それから私は探しました

  locate glib-2.0.pc

そして私は得た

  /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
  /usr/lib/i386-linux-gnu/pkgconfig/spice-client-glib-2.0.pc
  /usr/local/lib/pkgconfig/glib-2.0.pc

私も走る

  pkg-config --debug --modversion glib-2.0

検索されたディレクトリを見つける

glib-2.0.pcファイルを調べて、バージョン番号をチェックアウトしました。

正しいglib-2.0.pcファイルを見つけました

それから私は走る

  export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/

その後、./autogen.shおよびmake

スムーズに行きました

5
kenn