TITLE: Installing Gnome + Sawfish on LFS LFS VERSION: 2.4 AUTHOR: Mike Hildebrandt SYNOPSIS: Getting from a plain LFS + X installation to a working Gnome/Sawfish environment. HINT: v1.1 - 11/06/00 ================================================================================ I. Introduction 1) What this is As you likely already know, this document should hopefully make it less painless to get Gnome running on an LFS-based system. I don't see why these instructions shouldn't work on other Linux distributions though - just that several of these packages may already be installed, or older versions may be installed which would need to be uninstalled first. I don't claim to have created a "Definitive Guide to Gnome Installations", nor do I claim to be an expert at Linux and/or Gnome (far from it, actually). Rather, this is a list of what I did to get Gnome to work on my LFS install. My hope is that these instructions work as smoothly for others as it did for me. For the most part, the configuring and compiling itself isn't all that complicated, but it's the order you install them in that makes a big difference. In the event you encounter problems feel free to post it to the lfs-apps@linuxfromscratch.com mailing list and there should be someone there that knows of a solution. Also, the window manager I decided to go with is Sawfish, mainly due to it's inclusion in Helixcode's distribution of Gnome. I've made it clear which packages are only required by Sawfish and not Gnome so you're not installing unnecessary packages should you decide to install a different window manager instead. 2) What this isn't At this point, I have chosen not to install any packages found only in the "Unstable" directory on the Gnome ftp site (such as bonobo, nautilus, etc), even though some of them could be quite useful or others can be used by the base packages. My reasoning for this is that first of all, these packages are still in development and have not yet been deemed to be stable by the Gnome team and/or their developers. Secondly, none of the base packages described below require them to function properly, that I've seen. When I have time, I am planning on looking into many of these new packages, and when I do I'll try to update this document accordingly. 3) Prerequesites This file assumes that you have gone through the LFS Hint "X11Guide.txt" by Sergey Ostrovsky, located at archive.linuxfromscratch.org/lfs-hints. Although the purpose of that document is to get KDE2 up and running, it also describes in detail how to install XFree86 4.01 as well as several libs that are also needed by Gnome, so I decided not to duplicate their installation instructions here. In particular, you will need to install everything from X11Guide.txt, except for lcms, libmng, qt, and kde*, unless, of course, you are planning on installing KDE2 as well (lcms and libmng aren't KDE-specific, but none of the Gnome packages seemed to need them). ================================================================================ II. Packages to download Following is a list of all the packages you need to download, as well as the address you should be able to download it from. The values in brackets are the version numbers of the most current packages at the time of writing. If you find a higher version available, it should be safe to download it instead, especially with the packages from the Gnome website. The Gnome guys are nice enough to have the links on their website point to the most recent stable versions of the packages. Gnome: ftp://prtr-13.ucsc.edu/pub/libgif - libungif (4.1.0b1) www.sleepycat.com - db (3.1.14) ftp.gnu.org/pub/gnu/bc - bc (1.05a) www.gnome.org/start/installing - audiofile (0.1.9) esound (0.2.20) glib (1.2.8) gtk+ (1.2.8) imlib (1.9.8.1) gtk-engines (0.10) ORBit (0.5.4) gnome-libs (1.2.3) libgtop (1.0.9) libxml (1.8.10) libghttp (1.0.7) libglade (0.14) gdk-pixbuf (0.8.0) control-center (1.2.2) gnome-core (1.2.2.1) gnome-applets (1.2.2) Sawfish: ftp.gnu.org/pub/gnu/gmp - gmp (3.1) ftp.gnu.org/pub/gnu/gdbm - gdbm (1.8.0) sourceforge.net/project/filelist.php?group id=580 - librep (0.13) sourceforge.net/project/filelist.php?group id=581 - rep-gtk (0.14) sourceforge.net/project/filelist.php?group id=32 - sawfish (0.31.1) ================================================================================ III. Installing Gnome Packages 1) Setting up for install export CONF="--prefix=/usr --enable-shared" useradd bin echo "games:x:9:" >> /etc/group /* Or if you've added groups yourself, change 9 to the next free number */ 2) libungif - library for handling gif images ./configure $CONF make make install 3) db - Berkeley DB database software cd build_unix ../dist/configure $CONF --enable-compat185 make make install 4) glib - Additional GTK C libraries ./configure $CONF make make install ldconfig 5) gtk+ - Gimp Toolkit, library for creating GUIs ./configure $CONF make make install ldconfig 6) imlib - Image loading & rendering library ./configure $CONF make make install 7) ORBit - Not quite sure what this is, but everything else needs it... ./configure $CONF make make install 8) audiofile - Processes audio from various file formats ./configure $CONF make make install 9) esound - Enlightened Sound Daemon, allows simultaneous playback of multiple audio streams (ie. mixes two files in real time) ./configure $CONF make make install 10) gnome-libs - Main libraries used by Gnome applications ./configure $CONF --enable-prefer-db1 make make install 11) gdk-pixbuf - Image loading & rendering library (similar to Imlib) ./configure $CONF make make install 12) libxml - XML parser for Gnome ./configure $CONF make make install 13) libghttp - Gnome http client library ./configure $CONF make make install 14) bc - precision numeric processing language ./configure make make install 15) libtop - Provides info on running processes ./configure $CONF make make install 16) libglade - Allows apps to load glade interface files ./configure $CONF make make install 17) control-center - The primary means of configuring Gnome ./configure $CONF make make install 18) gnome-core - The Gnome Panel plus other main parts of Gnome ./configure $CONF make make install 19) gnome-applets - All the cool little programs that can run in the panel ./configure $CONF make make install 20) gtk-engines - Basically just four extra GTK themes ./configure $CONF make make install 21) mc - GNU Midnight Commander, file manager & desktop ./configure $CONF make make install ================================================================================ IV. Installing Sawfish Packages 1) gmp - GNU MP, precision arithmetic library ./configure $CONF make make install 2) gdbm - GNU dbm database routines ./configure $CONF make make install ldconfig 3) librep - Lisp interpreter ./configure $CONF make make install 4) rep-gtk - GTK+/Gnome/libglade bindings for Lisp ./configure $CONF make make install 5) sawfish - The Sawfish window manager ./configure $CONF make make install ================================================================================ V. Finishing Off This part's quite simple, unless you or other applications have changed things around. Edit the file /etc/X11/xinit/xinitrc, and go to the bottom of the file. If Gnome was installed onto a fresh X installation, there should be lines that run xclock and three xterms. Replace those lines with: exec gnome-session and save the file. If all went correctly, running startx should bring you to the default Gnome desktop. Installing the packages listed under "Gnome Additional source downloads" on page where you downloaded the base and core packages should be as easy as a /configure && make && make install. I haven't tried all of them yet, so I can't be too sure. At the very least you'll probably want to install the users-guide, gnome-utils, gnome-games, gnome-audio, and gnome-media packages (or maybe not the last two if you don't have a sound card =). I haven't tried the rest of the additional packages yet due to time constraints, but I'll be sure to update this document once I do. I figured it wasn't worth holding on to this for another few weeks while I figured out the non-mandatory packages. If you're bored of the default appearance and want to change the look of Gnome/Sawfish, you can download additional themes from gtk.themes.org and sawfish.themes.org. To install gtk themes, unpack the downloaded archive into /usr/share/themes. To install sawfish themes, copy the downloaded archive into /usr/share/sawfish/themes (do not unpack!). =============================================================================== VI. To Do * Install rest of additional Gnome packages * Try out some of the stuff from the "Unstable" source tree and see if any of it's worth adding to this document yet (being careful not to follow Redhat's recent example... ;) * Finish reading "Lord of the Rings" (part of the reason this project has been delayed longer than I would have liked... =) ===============================================================================