12

Mac OSX-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でこれを確認する方法がわかりません(存在するかどうか)。

どんな助けでも大歓迎です。

4

4 に答える 4

30

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

pkg-config --variable pc_path pkg-config

PKG_CONFIG_PATH変数に完全/usr/local/lib/pkgconfigパス名を追加する必要があります。

于 2012-07-03T10:36:10.323 に答える
11

exportコマンドで使用できるようにするには、環境変数を編集する必要があります。試す

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --libs --cflags cld
于 2012-08-18T14:43:50.327 に答える
2

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

于 2012-07-03T22:36:06.713 に答える