|
|
注意:本安装有可能造成 so 文件的重复以及混乱,不熟练的,还是装在 /usr 比较安全。
GNOME 太庞大了,所以我没打算手动编译 GNOME ,就借助自动化脚本来编译吧。
PS:有一点比较讨厌的,就是 garnome 把所有的东西都装在一个目录下边了,也不管主系统是否已经有这个软件了。都不侦测一下,笨笨的。
GARNOME 体系简介:
Meta 包:GARNOME 包含几个目录,如 desktop/bootstrap/office,都是一个meta 包,又若干个包组成以达到某个功能。你可以使用 meta 包,也可以单独编译一个包。meta包 只是为了方便而设置的。每个目录都支持的相同的 make 命令。
GARNOME 的几个方便的命令:
下载包:make fetch (可以用 checksum 代替)
校验包:make checksum
下载包后把包集中起来:gar.conf.mk 中设置 GARCHIVEDIR 变量后,运行 make garchive。就会把包都集中到一个目录里边,方便管理和日后使用。我是先把所有的包下载了,再编译的。
以下总结了一下我碰到的问题以及解决方法。
1。设置环境变量。
需要设置的是 PATH PKG_CONFIG_PATH XDG_DATA_DIRS GNOME_LIBCONFIG_PATH XDG_CONFIG_DIRS DBUS_LAUNCH
具体的设置请参考 BLFS 的设置文档,也可以运行 env 看看自己原来的设置,照猫画虎。
也可以参考README 里边的一个脚本:
- #!/bin/bash
- GARNOME=$HOME/garnome
- PATH=$GARNOME/bin:$PATH
- LD_LIBRARY_PATH=$GARNOME/lib:$LD_LIBRARY_PATH
- PYTHONPATH=$GARNOME/lib/python2.4/site-packages:$GARNOME/lib/python2.4/site-packages/gtk-2.0
- PKG_CONFIG_PATH=$GARNOME/lib/pkgconfig:/usr/lib/pkgconfig
- GDK_USE_XFT=1
- XDG_DATA_DIRS=$GARNOME/share
- XDG_CONFIG_DIRS=$GARNOME/etc/xdg
- MANPATH=$GARNOME/man:$MANPATH
- DBUS_LAUNCH="$GARNOME/bin/dbus-launch --exit-with-session"
- export PATH LD_LIBRARY_PATH PYTHONPATH PKG_CONFIG_PATH \
- GDK_USE_XFT XDG_DATA_DIRS XDG_CONFIG_DIRS MANPATH DBUS_LAUNCH
- exec $DBUS_LAUNCH $GARNOME/bin/gnome-session
复制代码
2。设置 garnome:
gar.gnome.mk:
CONFIGURE_ARGS += --disable-static --disable-maintainer-mode --with-html-dir=$(sharedstatedir)/gtk-doc/html --disable-gtk-doc --disable-docs
加上 --disable-docs 这行。
gar.conf.mk:
export UNATTENDED = true
main_prefix = /opt/gnome2
设置安装目录,以及设置无人看守状态。
3。进入某个 Meta 目录,然后 make paranoid-install 就可以了。中间出错的话,解决了后重新运行这个命令,就可以继续了。
==========================
以下的是我安装中逐渐碰到的问题,需要整理一下再合并到步骤中,以保证顺利编译。
1。libxml2
编译中要什么dtd,我不知道怎么找到。
解决:修改 Makefile,去掉 post-install 内容的第一行。
2。gtk-doc
需要 doc 方面多个包,我都没有。
解决:参考 BLFS 依次安装 sgml-common opensp openjade sgml-dtd-4 sgml-dtd-3 docbook-xml-dtd docbook-xsl。
最后把 /etc/xml/* 拷贝到 GNOME_PREFIX/etc/xml 里边,不然 gtk-doc 找不到任何一个东西。。(笨笨的)。
解决2:bootstrap 目录里边有 docbook-*,应该可以在里边 make install。不过我没试过。
3。dbus
需要 Python binding。Python/Pyrex。
解决:安装 pyrex。http://www.t2-project.org/packages/pyrexc.html
2个补丁也要下载,不然 dbus 会编译失败的。
Pyrexc 的安装方法:python setup.py intall
4。gnome-icon-theme
需要 Perl 的 XML::Simple 模块。
解决:perl -MCPAN -e "install XML::Simple"
5。gst-plugins-base
需要 liboil。
解决:去 bootstrap 目录里边的 liboil,然后 make install。
6。gnome-pilot
需要 pilot-link。
解决:参考 BLFS 安装。
7。sabayon
需要一个发行版鉴定文件。
解决:touch /etc/gentoo-release
解决2:可以自己指定,不过我比较懒,就随便指定了一个。
8。libgnome-java
需要 doc 方面的文件。我不懂。
解决:bootstrap 里边的 docbook-* 两个目录,分别 make install
9。notification-daemon
需要 libsexy。
解决:bootstrap 目录 安装 libsexy。
10。gnome-power-manager
编译的时候,man 出问题了。sgml转换失败。
解决:进去 desktop/gnome-power-manager/work/main.d/gnome-power-manager-2.14.0 目录,重新make一下,再继续开始 make paranoid-install 就可以继续了。
[color="RoyalBlue"]问题是:GNOME 安装好了,也不知道用来干嘛,晕死。
转载请保持完整,并注明出处。
by 终极幻想@LinuxSir.Org |
|