Installation

4.1. Build Order

The packages should be built in the following order:

  1. libxml2
  2. libxslt
  3. intltool
  4. scrollkeeper
  5. pkgconfig
  6. audiofile
  7. esound
  8. gtk-doc
  9. glib
  10. linc
  11. atk
  12. gnome-common
  13. pango
  14. libIDL
  15. ORBit2
  16. bonobo-activation
  17. gtk+
  18. GConf
  19. libart_lgpl
  20. libzvt
  21. libbonobo
  22. gnome-mime-data
  23. gnome-vfs
  24. libglade
  25. libgnome
  26. libgnomecanvas
  27. libbonoboui
  28. libgnomeui
  29. libwnck
  30. libgnomeprint
  31. libgnomeprintui
  32. libgtop
  33. librsvg
  34. gail
  35. eel
  36. libgtkhtml
  37. gtk-engines
  38. gnome-desktop
  39. gnome-panel
  40. gnome-session
  41. gnome-terminal
  42. gnome-utils
  43. gnome-applets
  44. control-center
  45. gnome-games
  46. bug-buddy
  47. eog
  48. nautilus
  49. gnome-system-monitor
  50. yelp
  51. gedit
  52. librep
  53. rep-gtk
  54. sawfish
  55. gnome-media
  56. gdm
  57. at-spi
  58. libgail-gnome
  59. gconf-editor
  60. gnome2-user-docs
In addition to the disk space required to build each package (give after the dash in the above list), the total space required to install these packages is 341 MB.

It is possible to build all these packages in a different location from the default /usr/local (by passing the

--prefix= location
flag to the configure script in each tarball). If you do that, however, you should put the new location as the first component of your $PATH (to avoid existing versions of scrollkeeper being picked up, for example). This new $PATH should be visible to each package as it compiles (so that it sees, for example, the pkg-config files from the earlier packages in the build).

4.2. Parallel Install

GNOME 2.0.2 may be installed in parallel with the GNOME 1.4.1 release libraries, allowing you to use GNOME 2.0.2's primary desktop functions - panels, Nautilus, etc. - while also running applications that have not yet been ported and therefore still require GNOME 1.4 libraries.

For some GNOME 1.x apps, you need the GNOME 1.x control-center (eg: gnome-pilot for use in Evolution).

4.3. GARNOME

GARNOME builds GNOME 2.0.2 from released tarballs. It is maintained by Jeff Waugh, the GNOME 2 release coordinator, and can be found here.

4.4. GNOME Installation Guide

Karsten Reincke has written a GNOME Installation Guide.

4.5. Upgrading from GNOME 1.4

After building and/or installing all of the packages successfully, there are a couple of things that need to be done start using the latest release.

Ensure that any existing GNOME 1.x sessions have been exited and check that GConfd has stopped (run ps ax | grep [g]conf). If gconf is still running, execute the command gconftool-1 --shutdown to stop it.

In order to have anti-aliased fonts in menus and applications, you will need to make sure that the environment variable GDK_USE_XFT is exported before running the appropriate applications, enabling rendering to use GNOME 2's new font architecture. For example, you might put the following in $HOME/.gnomerc:

		export GDK_USE_XFT=1
		exec gnome-session
      
(This assumes you are using gdm as your interface to log into GNOME. If you are starting X from a command prompt - using startx - then just put the above lines into your $HOME/.xinitrc file.)

With this set, fonts will then be rendered according to the configuration of /etc/X11/XftConfig (moving to /etc/fonts/fonts.conf in a future version, as we move to fontconfig instead of Xft1). Settings in XftConfig or fonts.conf determine how fonts are rendered, including whether to use hinting and antialiasing.

There have been cases of the initial login to GNOME 2 not going quite smoothly and a lot of errors about CORBA connections not being completed popping up in error boxes (and nothing else starting). This can be probably fixed by stopping the session (returning to the gdm screen or to the command prompt) and then (in a terminal) removing the /tmp/orbit-user directory (and all of its contents), where user is replaced with the appropriate user's login name.

4.6. Platforms

4.6.1. BSD

The FreeBSD GNOME Project is providing ports.

4.6.2. Solaris

Notes about building on Solaris.

The following packages above and beyond those found on a complete Solaris system are needed:

  • gettext 0.10.40
  • popt 1.6.2
  • freetype >= 2.0.2
  • libaudiofile >= 0.2.3
  • sox >= 12.17.3
  • jpeg v6b
  • libpng 1.0.12
  • tiff 3.55
  • scrollkeeper 0.3.10
  • ghostscript 6.53

In addition, you need a compiler, either gcc or Forte 6 update 2. Older versions of forte/Sunpro have been known to cause problems.

There are a number of patches recommended for building GNOME on Solaris, which can be obtained from http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access:

	* Solaris8/sparc:
        108528-14  108827-20  108989-02  110934-07  111293-04  112396-02
        108652-51  108987-09  110380-04  111111-03  111310-01  112438-01

    * Solaris8/x86:
        108529-14  108828-22  108990-02  110935-07  111294-03  111311-01
        112439-01  108653-41  108988-09  110403-04  111112-03  111307-03
        112397-02
	

If you are using the native iconv implementation on Solaris instead of libiconv, you'll need to make sure that you have the converters between locale encodings and UTF-8 installed. At a minimum you'll need the SUNWuiu8 package. You probably should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and SUNWkiu8 packages.

4.6.3. Darwin

With the latest releases, the GTK family builds cleanly out of the box. More work is needed to get GNOME running, however. A gnome-darwin-list has been set up for those interested in working on issue.

4.6.4. GNU/Linux

Building GNOME 2.0.2 on GNU/Linux requires a number of standard packages included with most distributions. Below are listings of the packages as they are named in several of the most common distributions.

4.6.4.1. Debian

  1. libpng2-dev
  2. libjpeg-dev
  3. libtiff-dev
  4. xlibs-dev
  5. libpopt-dev
  6. libgdbmg1-dev (librep)
  7. libgmp3-dev (librep)
  8. texinfo (librep)
  9. libbz2-dev, zlib1g-dev (gnome-vfs, others)
  10. python2.2 + python2.2-xml (libglade)
  11. docbook-xml (Docbook DTD 4.1.2) + docbook-xsl (Docbook XSL Stylesheets)

4.6.4.2. Red Hat

All of the following packages are required for a full build. Most should be installed by default and all will be available from the distribution itself. Alternatively, www.rpmfind.net is a good place to find the appropriate packages. I have used the “official” Red Hat names for each one. This is taken from a Red Hat 7.3 box, so it should be the same names across all Red Hat 7.x boxes and there are possibly some small changes on the 6.x boxes (plus some version problems on those boxes, too).

  1. gcc
  2. make
  3. glibc-devel
  4. libpng
  5. libpng-devel
  6. libjpeg
  7. libjpeg-devel
  8. libtiff
  9. libtiff-devel
  10. XFree86
  11. XFree86-devel

    Plus whatever XFree86 packages are required for the system to run.

  12. freetype
  13. freetype-devel
  14. popt
  15. gdbm
  16. gdbm-devel
  17. gmp
  18. gmp-devel

    This is the GNU multi-precision library, not libgpm, the mouse library.

  19. texinfo
  20. bzip2
  21. bzip2-libs
  22. bzip2-devel
  23. zlib
  24. zlib-devel
  25. gettext
  26. byacc or bison
  27. flex
  28. python >= 2.0 with expat support

    This means you need to be able to start python, it has to be version 2.0 or greater and “from xml.parsers import expat” must work from the Python prompt. In other words, running python2 -c "from xml.parsers import expat" from a shell prompt and having no error reported is sufficient.

  29. openjade
  30. sgml-common
  31. docbook-dtds
  32. xml-common
  33. docbook-style-xsl
  34. docbook-style-dsssl

4.6.4.3. Mandrake

GNOME 2 binary packages are available in Mandrake Cooker (Mandrake's experimental / unstable) distribution).

These packages haven't yet been customized to fully integrate in Mandrake Linux (all available applications are not show in menu, some features available in Mandrake version of GNOME 1.4 have not been ported yet to GNOME 2).

These packages should only be used on full cooker system (not 8.2/cooker mixed system) and feedback for these packages should be sent to the cooker mailing list.

All of the following packages are required for a full Mandrake build. Most should be installed by default and all will be available from the distribution itself. Packages are from Mandrake Linux 8.2. (Hint : use urpmi my_package to install my_package)

  1. gcc
  2. make
  3. glibc-devel
  4. libpng3
  5. libpng3-devel
  6. libjpeg62
  7. libjpeg62-devel
  8. libtiff3-devel
  9. libtiff3-devel
  10. XFree86
  11. XFree86-devel (Plus whatever XFree86 packages are required for the system to run.)
  12. freetype2
  13. freetype2-devel
  14. popt
  15. libgdbm2
  16. libgdbm2-devel
  17. libgmp3
  18. libgmp3-devel (This is the GNU multi-precision library, not libgpm, the mouse library.)
  19. texinfo
  20. bzip2
  21. libbzip2_1
  22. libbzip2_1-devel
  23. zlib1
  24. zlib1-devel
  25. gettext
  26. byacc or bison
  27. flex
  28. python >= 2.0 with expat support. This means you need to be able to start python, it has to be version 2.0 or greater and “from xml.parsers import expat” must work from the Python prompt. In other words, running python2 -c "from xml.parsers import expat" from a shell prompt and having no error reported is sufficient.
  29. openjade
  30. sgml-common
  31. docbook-dtd41-sgml
  32. docbook-dtd412-xml
  33. docbook-style-xsl
  34. docbook-style-dsssl

4.6.4.4. Gentoo

Gentoo Linux provides GNOME 2 support. Details here.

4.7. System Requirements

As discussed Section 2.3 ― Performance, GNOME 2 requires less resources than GNOME 1.4. We recommend a P400 or equivalent with 128M RAM for using the desktop, but it has been known to work on a system with as little as a P166 with 64M RAM.