首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pkg-config无法找到.pc文件,尽管它们在路径中

pkg-config无法找到.pc文件,尽管它们在路径中
EN

Stack Overflow用户
提问于 2012-07-03 10:31:49
回答 4查看 29.1K关注 0票数 12

我发现Mac OSX-Lion上的pkg-config有一个奇怪的问题。在为我下载的模块运行python安装程序时,我收到以下错误:

代码语言:javascript
复制
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文件夹时,我看到库和.pc文件在pkgconfig子文件夹中

代码语言:javascript
复制
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上检查这个包(是否有)。

任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

发布于 2012-07-03 18:36:10

您可以使用以下命令列出默认情况下pkg-config查找的目录:

代码语言:javascript
复制
pkg-config --variable pc_path pkg-config

PKG_CONFIG_PATH需要在变量后追加完整的/usr/local/lib/pkgconfig路径名。

票数 29
EN

Stack Overflow用户

发布于 2012-08-18 22:43:50

环境变量需要被export'ed才能对命令有用。

代码语言:javascript
复制
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --libs --cflags cld
票数 11
EN

Stack Overflow用户

发布于 2012-07-04 06:36:07

看起来,尽管PKG_CONFIG_PATH被正确设置了,但Python脚本并没有使用它。查看脚本,它在一个子进程中启动pkg-config,我不确定环境变量信息是否传递给子进程。不过,我通过将库和.cp文件复制到/opt/local/lib/ ( pkg-config所在的默认文件夹)解决了这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11303730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档