kevin27 发表于 2005-4-11 14:23:55

关于 pkg-config 的问题

在编译某源代码的时候,configure里面有用到 pkg-config 去检查某些包(的合法性──我不是很懂)。
大家看看是否可以这样理解:
合法,pkg-config返回空;
不合法,或没有安装,则检测不到 /usr/lib/pkgconfig/ 下的 *.pc 文件,pkg-config 返回错误;

但我在运行某个 configure 的时候得到这样的错误提示:

checking for libsoup-2.2 >= 2.2.2... Package libsoup-2.2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsoup-2.2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsoup-2.2' found

但 /usr/lib/libsoup-2.2.so 确实存在,只是在 PKG_CONFIG_PATH(=/usr/lib/pkgconfig/)里没有libsoup.pc 。

man pkg-config 中有提到:*.pc是configure产生的,但libsoup是靠rpm安装的,
自己按照模板写了一个libsoup.pc ,但好像不起作用;
有什么办法解决么?
3x

chengweilv 发表于 2005-4-11 14:58:12

缺少什么包就安装什么包,注意版本号。
它说找不到libsoup-2.2.pc,就自己上去rmpfind找找看,对应你大系统找找看,
通常都是你安装了该包,但是没有安装相应的devel包,都给装上,如果还是提示没有,那么可以使用locate *.pc把需要大包找出来,把路径添加到PKG_PATH_CONFIG中。

kevin27 发表于 2005-4-12 15:25:27

3Q

不知道二楼的兄弟是否看明白了我的叙述,或是我叙述的不清楚。
libsoup-2.2已经在我的FC3里面了,/usr/lib/libsoup.so 也静静地住在我的系统里。
可是pkg-config未能找到 libsoup.pc

兄弟说:locate *.pc ,能有用么?我试了一下,没有反映。
估计在locate的数据库里也没有 libsoup 的信息吧。

另外俺还想知道的是: *.pc是只有 configure 才能生成的么(除了手工写)?

light-blue 发表于 2005-4-12 17:03:38

libsoup找找这个的devel包。

应该有的。

rpm包安装的东东分成很多部分,程序的头文件等东东通常做为devel包。

kevin27 发表于 2005-4-13 21:46:23

多谢 light-blue

确实,安装了 libsoup-devel-*.rpm 之后,就OK了。

/usr/lib/pkgconfig/libsoup-2.2.pc 就生成了
页: [1]
查看完整版本: 关于 pkg-config 的问题