我在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
使用命令行将PKG_CONFIG_PATH设置为指向/ usr / local / lib /没有帮助。由于某种原因将其设置为〜/ .bash_profile会使pkg-config无法识别为命令。
我的假设是我缺少一些依赖但不确定是什么。在Linux上尝试相同时,我错过了Python Dev包python2.7-dev,但我不确定如何在Mac上检查这个(是否存在)。
任何帮助将不胜感激。
答案 0 :(得分:25)
您可以使用以下命令列出pkg-config
默认查找的目录:
pkg-config --variable pc_path pkg-config
PKG_CONFIG_PATH
需要在变量后附加完整的/usr/local/lib/pkgconfig
路径名。
答案 1 :(得分:10)
环境变量需要export
'才能对命令有用。尝试
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --libs --cflags cld
答案 2 :(得分:1)
似乎虽然PKG_CONFIG_PATH
已正确设置,但Python脚本却没有提起它。查看脚本,它在子进程中启动pkg-config,我不确定环境变量信息是否传递给子进程。
不过我通过将库和.cp文件复制到/ opt / local / lib /这是pkg-config看起来的默认文件夹来解决了这个问题。
答案 3 :(得分:1)
您可以尝试以下操作:
brew install pkg-config
brew install libvirt
它对我有用。