suncrow 发表于 2005-11-24 01:20:40

请教如何在ML中升级GTK!!!

我用的 ML1.2final 一直很稳定,安装了很多我需要的软件后达到了理想状态,因此不想大动干戈地重装系统到 ML2.0rc1,因为想安装公社的BT软件需要最新的 GTK,故在 GTK 站上下载了glib-2.6.6,按照说明安装完
Simple install procedure
========================

% gzip -cd glib-2.6.6.tar.gz | tar xvf -# unpack the sources
% cd glib-2.6.6                           # change to the toplevel directory
% ./configure                           # run the `configure' script
% make                                    # build GLIB

[ Become root if necessary ]
% rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h
% make install                            # install GLIB


没出现错误提示,后安装pango-1.8.2
[root@MagicLinux pango-1.8.2]# ./configure
..........................
checking XFT_LIBS... -L/usr/X11R6/lib -lXft -lfreetype -lXrender -lfontconfig
checking for glib-2.0 >= 2.5.7 gobject-2.0 gmodule-no-export-2.0... Requested 'glib-2.0 >= 2.5.7' but version of GLib is2.4.8
configure: error:
*** Glib 2.5.7 or better is required. The latest version of
*** Glib is always available from ftp://ftp.gtk.org/.

难道我的 Glib2.6.6 没有安装成功吗????可是安装过程没有出现错误呀。

再见情人 发表于 2005-11-24 02:51:35

删除原来的make unistall
或者看说明文档
重新 ./configure --prefix=/usr 试试看

suncrow 发表于 2005-11-25 00:02:33

pango安装成功,但是安装GTK时,
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... Requested 'pango >= 1.8.0' but version of Pango is 1.6.0
configure: error: Package requirements (glib-2.0 >= 2.6.0    atk >= 1.0.1    pango >= 1.8.0) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively you may set the BASE_DEPENDENCIES_CFLAGS and BASE_DEPENDENCIES_LIBS environment variables
to avoid the need to call pkg-config.See the pkg-config man page for
more details.

再见情人 发表于 2005-11-25 01:11:56

你安装pango时尽量 --prefix=/usr 否则运行ldconfig之类的很麻烦
http://auvtech.com/~xinzhen/downloads/GNOME/2.10/2.10.2.1/rpms/pango-1.8.2-1.i686.rpm
这个地址还有效,你尽快下载,这个是当初为1.2打包的
另外,即便你手动编译一些软件,或升级,都看一下ml的src里面的patch,否则你编译对原有的软件功能上可能有些出入,当然,你可以选择不用的

suncrow 发表于 2005-11-25 09:21:09

牛人,能举个例子吗???

prefix=/etc和prefix=/usr到底是如何确定的呀???

src里面的patch是做什么用的????小弟不是很懂,请指教。

:oops::oops::oops:

xLoneStar 发表于 2005-11-25 11:05:15

楼主,欢迎来到 Linux 的世界。

建议你找找 rpm 包,应该有适合你的。

demonlj 发表于 2005-11-25 11:09:07

楼主,欢迎来到 Linux 的世界。

建议你找找 rpm 包,应该有适合你的。
:lol: 口号男,不过应该说是gnome的世界吧 :P

再见情人 发表于 2005-11-25 15:13:49

牛人,能举个例子吗???

prefix=/etc和prefix=/usr到底是如何确定的呀???

src里面的patch是做什么用的????小弟不是很懂,请指教。

:oops::oops::oops:
呵呵,--prefix=/etc--prefix=/usr 其实没什么好确定的,这只是指定一个安装目录
./configure --prefix=/usr 指定安装目录,如果不指定,通常从源码包编译安装的软件默认会放在/usr/local下
编译一个软件或库,主要关系到/etc/ld.so.conf ldconfig PKG_CONFIG_PATH
这里我简单说一下 PKG_CONFIG_PATH,
当安装了pkgconfig这个包后,就有了pkg-config,它需要PKG_CONFIG_PATH,
主要就是给configure提供信息,比如软件的版本库的版本以及路径等等
这些信息只是在编译其间使用。默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件。
如果你将glib pango等等装到/usr/local或者说/etc,并且你没有修改PKG_CONFIG_PATH,添加上述位置,那么configure是找不到的,你装了都没有用(当然你修改了etc/ld.so.conf那又不同了),如果是库文件你./configure --prefix=/usr 会为你省下很多麻烦,其他的程序包,不含有基本的库,你装到其他地方也是可以的,因为很少软件会对它依赖。
关于 magic src的patch,是为ml特定的系统做的,涉及到系统默认的特点,中文化,解决冲突bug等等,每一个发行版的patch有些有特定的意义的,解决一些特殊的问题,patch主要是对源码进行一些适合系统的优化等等,简单说这些吧,楼主仍是不明,可以多搜一下。
另外有rpm包升级,可以解决很多不必要的麻烦

haulm 发表于 2005-12-5 06:21:46

用./configure --prefix=/usr,ML2.0rc1尝试手动升级GTK+也是失败,从软件管理器上看到magic Linux系统的glib、atk、pango、cairo版本均高于下面的错误报告:
configure: error: Package requirements (glib-2.0 >= 2.7.1    atk >= 1.0.1    pango >= 1.9.0    cairo >= 0.9.2) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
如何手工升级gtk2.8.6到gtk2.8.8 ?
如果用默认的configure安装所有支持及GTK,是否会另装了一个GTK2.×?

再见情人 发表于 2005-12-5 13:54:21

如果你用的都是apt上的版本不会有问题,第一我打包2.8.8成功,第二我手动试了一下,也没有问题,这样你 rpm -q glib2 atk pango cairo 我看一下是否有没有升级的地方

haulm 发表于 2005-12-5 15:42:55

rpm -q glib2 atk pango cairo gtk2
glib2-2.8.3-1
atk-1.10.3-1
pango-1.10.1-1
cairo-1.0.2-1
gtk2-2.8.6-1

再见情人 发表于 2005-12-5 16:23:47

rpm -q glib2-devel atk-devel pango-devel cairo-devel

haulm 发表于 2005-12-5 16:38:15

rpm -q glib2-devel atk-devel pango-devel cairo-devel
glib2-devel-2.8.3-1
atk-devel-1.10.3-1
pango-devel-1.10.1-1
package cairo-devel is not installed
原来差了这个,下载安装后编译正常
devel和不带-devel的包什么区别,开发包和应用包?还是两个版本的包?

再见情人 发表于 2005-12-5 16:59:01

比如说pango 如果你手动编译pango, make install后一般都会完全安装。
但是一般打包一个软件的时候把主包和devel(开发 )包分开,一般devel包包括一些头文件,库等等
如果一个人不需要开发工作,那么基本上他用不到devel包,但编译软件的时候需要用到开发包,因为它是通过pkgconfig来查找需要软件包的信息,pkgconfig又是通过头文件来查找信息,所以这时候需要到了devel包,编译安装算是开发的最后一个步骤吧,哈哈。
其实开发包和主包本属于同一个软件包的,并不是两个版本的包
页: [1]
查看完整版本: 请教如何在ML中升级GTK!!!