Rambler's Top100
Как сделать в Linux?
Некоторые трудности перехода с Gnome 2.18 на версию Gnome >= 2.20 в Gentoo
  Rambler's Top100

При переходе на более новую версию Gnome могут возникнуть следующие трудности компиляции пакетов:

1) Для компиляции пакета intltool нужен пакет dev-perl/XML-Parser. При его отсутствии возникает следующая ошибка компиляции:
checking whether make sets $(MAKE)... yes
checking for perl... /usr/bin/perl
checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/dev-util/intltool-0.35.5/work/intltool-0.35.5/config.log
 *
 * ERROR: dev-util/intltool-0.35.5 failed.
 * Call stack:
 *   ebuild.sh, line 1701:  Called dyn_compile
 *   ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *   ebuild.sh, line   44:  Called src_compile
 *   ebuild.sh, line  706:  Called econf
 *   ebuild.sh, line  638:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *  The die message:
 *   econf failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-util/intltool-0.35.5/temp/build.log'.
 *
 * Messages for package dev-util/intltool-0.35.5:
 *
 * ERROR: dev-util/intltool-0.35.5 failed.
 * Call stack:
 *   ebuild.sh, line 1701:  Called dyn_compile
 *   ebuild.sh, line 1039:  Called qa_call 'src_compile'
 *   ebuild.sh, line   44:  Called src_compile
 *   ebuild.sh, line  706:  Called econf
 *   ebuild.sh, line  638:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *  The die message:
 *   econf failed 

2) Может возникнуть проблема с inotify - например при компиляции gnome-menus:
configure: error: No inotify syscalls in libc found - cannot enable inotify support
* ERROR: gnome-base/gnome-menus-2.20.3 failed.
* Call stack:
*     ebuild.sh, line 1642: Called dyn_compile
*     ebuild.sh, line 988: Called qa_call 'src_compile'
*     ebuild.sh, line 44: Called src_compile
*     ebuild.sh, line 1327: Called gnome2_src_compile
*     gnome2.eclass, line 70: Called gnome2_src_configure
*     gnome2.eclass, line 66: Called econf '--enable-inotify' '--disable-debug' '--enable-python'
*     ebuild.sh, line 591: Called die
* econf failed
Нужно удостовериться, что в ядре включена поддержка inotify:
grep INOTIFY /usr/src/linux/.config
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
Далее нужно обновить пакет sys-kernel/linux-headers, после чего пересобрать glibc

3)В процессе установки новой версии gnome будет установлена новая версия библиотеки dev-libs/expat, отвечающей за парсинг XML. При этом обновлении происходит удаление старой библиотеки libexpat.so.0, на которую ссылается очень много пакетов - в частности gnome-terminal. Поэтому до начала апдейта этой библиотеки рекомендуется открыть терминал, с помощью которого запустить программу revdep-rebuild из пакета app-portage/gentoolkit, которая найдет все пакеты, ссылающиеся на эту библиотеку и переустановит их.

4) После апдейта библиотеки dev-libs/expat до версии 2.0.x возможны проблемы с компиляцией библиотек pango и gtk+:
 * ERROR: x11-libs/pango-1.18.4 failed.
 * Call stack:
 *       ebuild.sh, line 1695:  Called dyn_compile
 *       ebuild.sh, line 1033:  Called qa_call 'src_compile'
 *       ebuild.sh, line   44:  Called src_compile
 *       ebuild.sh, line 1377:  Called gnome2_src_compile
 *   gnome2.eclass, line   71:  Called die
 * The specific snippet of code:
 *      emake || die "compile failure"
 *  The die message:
 *   compile failure
Для преодоления этой ошибки нужно сделать следующее:
emerge fontconfig
emerge pango
emerge gtk+


Как сделать?