LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 799|回复: 8

请教一个问题?

[复制链接]
发表于 2004-12-17 12:51:46 | 显示全部楼层 |阅读模式
我想在FC1中安装OpenQ,使用网站提供的RPM,提示需要 gettext的版本大于0.14,没有找到合适的gettext RPM版本,去GUN/gettext下了一个0.14版的tar.gz文件,编译时出错,暂且不管他,从OpenQ的网站又下了tar.gz文件, configure的时候提示需要glib的版本大于2.0,我去gtk的官方网站下了一个glib-2.2.3.tar.gz,编译后顺利安装,然后从新configure OpenQ,仍然提示需要glib的版本大于2.0,为什么编译安装的软件版本不能被识别呢,要如何让OpenQ知道我已经安装了glib2.2.3,是不是要在RPM上注册过的文件才能被识别,通过编译安装的文件就不能被识别呢?还有一个问题,我查了一下系统已经安装了glib-1.2.10-11,通过编译安装如何更新已经安装过的旧版本呢,我刚接触Linux不久,还请大家多多指教,谢谢!
发表于 2004-12-17 13:10:32 | 显示全部楼层
从源码包编译后 要注意放置的位置,程序库文件默认去搜索/lib 和/usr/lib下,如果你装在了特殊地方,要在/etc/ld.so.conf中加上相应路径,然后运行ldconfig
另外还有就是pkgconfig.
安装glib-2.0后,会有一个glib-2.0.pc的文件,
如果安装在了/usr下,它就在/usr/lib/pkgconfig下,如果没有这个文件,即使你安装好了,其它程序也会认为你没有安装。所以如果你将glib安装到了特殊位置,要将存放pkgconfig的目录加在
PKG_CONFIG_PATH下,如这样:
PKG_CONFIG_PATTH=/usr/X11R6/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/usr/lib/pkgconfig:/opt/gnome-2.8/lib/pkgconfig:/lib/pkgconfig
你可以在~/.bashrc中添加一行这样的语句:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:你的pkg路径。
 楼主| 发表于 2004-12-17 13:52:20 | 显示全部楼层
搜索了一下:
[root@MyLinux root]# find / -name 'glib-2*'
/root/software/glib-2.2.3.tar.gz
/root/software/glib-2.2.3
/root/software/glib-2.2.3/glib-2.0-uninstalled.pc.in
/root/software/glib-2.2.3/glib-2.0.pc.in
/root/software/glib-2.2.3/m4macros/glib-2.0.m4
/root/software/glib-2.2.3/glib-2.0.pc
/root/software/glib-2.2.3/glib-2.0-uninstalled.pc
/usr/local/include/glib-2.0
/usr/local/lib/glib-2.0
/usr/local/lib/pkgconfig/glib-2.0.pc
/usr/local/share/aclocal/glib-2.0.m4
/usr/local/share/glib-2.0

我选择的是程序默认安装,没有更改目录

请教一下,应该在哪个文件中添加如下代码呢?
PKG_CONFIG_PATH下,如这样:
PKG_CONFIG_PATTH=/usr/X11R6/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/usr/lib/pkgconfig:/opt/gnome-2.8/lib/pkgconfig:/lib/pkgconfig

添加这一行所起到的作用是什么,谢谢!

你可以在~/.bashrc中添加一行这样的语句:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:你的pkg路径。
发表于 2004-12-17 14:56:02 | 显示全部楼层
你装在了/usr/local下,默认其它程序是不会搜索那个目录的,当然显示没有装glibc了
你在/etc/ld.so.conf中加入一行:/usr/local/lib
保存退出,然后终端执行ldconfig
然后修改你用户家目录的.bashrc 加入
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
保存退出,输入source .bashrc 或注销生效。
之后再安装软件就不会提示你没安装glib了。
你用文本编辑器打开glib-2.0.pc文件就知道了。
里面记录了glib-2.0的信息。其它程序需要这些信息,依靠这些信息判断你的系统是否安装了XXX,版本是否符合自己的需要。
PKG_CONF_PATH就是这些信息文件的目录,设定后,程序会沿着这里的PATH去寻找自己要着的信息。
或者你可以这么做:
ln -s /usr/local/lib/pkgconfg/glib-2.0.pc /usr/lib/pkgconfig
应该也可以,不过最好的办法是加到PKG_CONFIG_PATH中。

ps : 我的表达这么失败吗
 楼主| 发表于 2004-12-17 15:48:28 | 显示全部楼层
非常感谢楼上的,因为我接促Linux不久,有很多概念还不是很清楚,是我对Linux的了解有限!

又碰到问题了,我的最终目的是为了安装OpenQ,glib通过后提示需要gtk+大于2.0.0,唉,居然涉及到升级gtk了,安装atk顺利通过,安装pango时提示需要fontconfig和freetype,顺利安装fontconfig和freetype,再回过头来make pango,出现如下错误:

/usr/local/include/freetype2/freetype/freetype.h:20:2: #error "`ft2build.h' hasn't been included yet!"
/usr/local/include/freetype2/freetype/freetype.h:21:2: #error "lease always use macros to include FreeType header files."
/usr/local/include/freetype2/freetype/freetype.h:22:2: #error "Example:"
/usr/local/include/freetype2/freetype/freetype.h:23:2: #error "  #include <ft2build.h>"
/usr/local/include/freetype2/freetype/freetype.h:24:2: #error "  #include FT_FREETYPE_H"
pango-ot-info.c:25:31: freetype/ftmodule.h: No such file or directory
make[3]: *** [pango-ot-info.lo] Error 1
make[3]: Leaving directory `/root/software/pango-1.2.5/pango/opentype'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/software/pango-1.2.5/pango'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/software/pango-1.2.5'
make: *** [all-recursive-am] Error 2

难道freetype还要特别设置过的吗,请指教,谢谢!
发表于 2004-12-17 15:57:37 | 显示全部楼层
http://www.linuxfromscratch.org/ ... -2004-12-16.tar.bz2
下载回去。这里面有关于gtk以及你安装的那些源码包安装详细方法。
 楼主| 发表于 2004-12-17 16:37:59 | 显示全部楼层
非常感谢楼上的,这本书的内容非常好,我按照freetype的安装方法重新安装了一遍,不过出错的提示还是和上面一样啊,不好意思,我比较笨的!
 楼主| 发表于 2004-12-17 17:22:19 | 显示全部楼层
在网上搜索了一下,freetype2.1.9的版本好象有点问题,换成2.1.5就通过了,再次感谢6692975!
发表于 2004-12-17 17:27:05 | 显示全部楼层
你最好按照那本文档上安装gtk需要的安装,
好象你的pango 和freetype版本相差一些,产生的错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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