QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2530|回复: 8

请教PKG_CONFIG_PATH的问题?

[复制链接]
发表于 2004-6-29 10:24:09 | 显示全部楼层 |阅读模式
请教PKG_CONFIG_PATH是什么东东,如何设置.
发表于 2004-6-29 15:23:23 | 显示全部楼层
你遇到的错误信息是什么? 请详细给出来.
-----------------------------
PKG_CONFIG_PATH就是pkg-config 管理的各种程序的*.pc文件的目录位置(一般在/usr/lib/pkgconfig/下)

*.pc文件为另外的程序说明这个程序的安装目录, 共享动态库位置, 头文件位置,版本好等信息.  一般安装软件时会检查所倚赖的程序版本,如果编译安装的话configure 脚本就会用命令pkg-config --modversion ***  , 安装rpm包的话则会读rpm数据库. 不幸的是rpm的数据库和pkg-config没有联系.

(如果编译安装时./configure 说某程序的版本不够或没有安装.  例如 说libwnck 没有安装, 但你用rpm -qa  libwnck* 查出libwnck 确实存在,并且rpm -qi libwnck显示的版本够高了 , 很可能是没有安装libwnck-devel  , 因为*-devel包通常包括这个程序的*.pc文件)
回复

使用道具 举报

 楼主| 发表于 2004-6-29 18:19:12 | 显示全部楼层
系统mdk10,系统安装有GLib-2.2.3,安装另一软件./configure时提示,需要GLib-2.4.0以上版本.下载GLib-2.4.2.tar.gz编译安装.安装后, /glib-2.4.2的glib-2.0.pc如下:prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.4.2
Libs: -L${libdir} -lglib-2.0  
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include
原来系统/usr/lib/pkgconfig中的glib-2.0.pc如下:
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include

glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.2.3
Libs: -L${libdir} -lglib-2.0   
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include
1,直接把glib-2.4.2中的glib-2.0.pc拷贝到/usr/lib/pkgconfig下并覆盖原glib-2.0.pc:
2,再编译要安装的软件,./configure时提示:
checking for GLib -version >=2.0.0
pkg-config -modversion glib -2.0 returned 2.4.2,but  GLib(2.2.3)was found ! If pkg-config was corract,then it is best to remove the old version of GLib ,You may also be able to fix the error by modifying your LD_LIBRARY_PATH  enviromint variable,or by editing /etc/ld.so.conf  Make sure you have run ldconfig if that is required on your system. If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH  to point to the correct configuration files.
configure :error
GLib 2.0 or letter is required.
If GLib is installed but not in the same location as pkg-config add the location of the file glib-2.0 pl to the enironment variable pkg_config_path.
请教要完整安装glib-2.4.2,还需要修改什么 ?
回复

使用道具 举报

 楼主| 发表于 2004-7-1 13:16:45 | 显示全部楼层
安装glib时,./configure 加上--prefix=/usr 把它安装在/usr下,而不是默认的/usr/local就能解决上述问题了.
回复

使用道具 举报

发表于 2004-7-1 23:38:49 | 显示全部楼层
不如将/usr 连接到/usr/local  , 一劳永逸. 我是这样做的 :-)
ln -s /usr /usr/local
回复

使用道具 举报

发表于 2004-7-3 17:57:50 | 显示全部楼层
使用如下语句就可以了:

export LD_LIBRARY_PATH="/usr/local/lib"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
回复

使用道具 举报

发表于 2004-7-4 09:04:38 | 显示全部楼层
[quote:348840824b="taxuewuhen"]使用如下语句就可以了:
export LD_LIBRARY_PATH="/usr/local/lib"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"[/quote]
这样,如果需要/usr/lib/pkgconfig或者/usr/X11R6/lib/pkgconfig呢?
都写上还差不多
回复

使用道具 举报

发表于 2004-7-4 11:36:15 | 显示全部楼层
系统先检查PKG_CONFIG_PATH指定的目录,
然后在去系统默认的目录去寻找
回复

使用道具 举报

发表于 2004-7-4 16:08:17 | 显示全部楼层
PKG_CONFIG_PATH一般在这个几个目录下
/usr/lib/pkgconfig,/usr/local/lib/pkgconfig,
安装glibc时默认的包配置文件在/usr/local/lib/pkgconfig,如果你编译时制定其他的目录,可以这样做
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/your/prefix/lib/pkgconfig

再配置编译安装
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 10:46 , Processed in 0.049111 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表