web-dev-qa-db-ja.com

pkg-configは、パスにあるにもかかわらず.pcファイルを見つけることができません

MacOSX-Lionのpkg-configで奇妙な問題が発生しています。ダウンロードしたモジュールのpythonセットアップを実行すると、次のエラーが発生します。

aspen:python toddysm$ Sudo ./setup.py install
Password:
`pkg-config --libs --cflags cld` returns in error: 
Package cld was not found in the pkg-config search path.
Perhaps you should add the directory containing `cld.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cld' found

The `cld` C++ library is absent from this system. Please install it.

ただし、/ usr/local/libフォルダーをチェックインすると、libsが表示され、.pcファイルはpkgconfigサブフォルダーにあります。

aspen:~ toddysm$ cd /usr/local/lib/
aspen:lib toddysm$ ls -al
total 2640
drwxr-xr-x  6 root  wheel      204 Jul  2 17:38 .
drwxr-xr-x  9 root  wheel      306 Jul  2 15:17 ..
-rwxr-xr-x  1 root  wheel  1339516 Jul  2 17:38 libcld.0.dylib
lrwxr-xr-x  1 root  wheel       14 Jul  2 17:38 libcld.dylib -> libcld.0.dylib
-rwxr-xr-x  1 root  wheel      918 Jul  2 17:38 libcld.la
drwxr-xr-x  3 root  wheel      102 Jul  2 17:38 pkgconfig
aspen:lib toddysm$ cd pkgconfig/
aspen:pkgconfig toddysm$ ls -al
total 8
drwxr-xr-x  3 root  wheel  102 Jul  2 17:38 .
drwxr-xr-x  6 root  wheel  204 Jul  2 17:38 ..
-rw-r--r--  1 root  wheel  279 Jul  2 17:38 cld.pc

コマンドラインを使用して/ usr/local/lib /を指すようにPKG_CONFIG_PATHを設定しても役に立ちません。何らかの理由で〜/ .bash_profileに設定すると、pkg-configがコマンドとして認識できなくなります。

私の仮定は、いくつかの依存関係が欠落しているが、何がわからないということです。 Linuxで同じことを試みたとき、Python Devパッケージpython2.7-devがありませんでしたが、Macでこれを確認する方法がわかりません(あるかどうか)。

どんな助けでもありがたいです。

11
toddysm

pkg-configがデフォルトで検索するディレクトリは、次を使用して一覧表示できます。

pkg-config --variable pc_path pkg-config

PKG_CONFIG_PATHには、変数に追加された完全な/usr/local/lib/pkgconfigパス名が必要です。

26
Brett Hale

コマンドで使用するには、環境変数をexportする必要があります。試してみてください

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --libs --cflags cld
10
Yasushi Shoji

PKG_CONFIG_PATHが適切に設定されましたPythonスクリプトはそれを取得しませんでした。スクリプトを見ると、サブプロセスでpkg-configが開始され、環境変数情報がサブプロセスに渡されるかどうかわかりません。それでも、ライブラリと.cpファイルを/ opt/local/lib /にコピーすることで問題を解決しました。これは、pkg-configが表示されるデフォルトのフォルダーです。

2
toddysm

次のようにしてみてください。

brew install pkg-config
brew install libvirt

そしてそれは私のために働きます。

1
xiaojueguan