Typo
[linux_from_scratch_hints.git] / OLD / gnome-1.4.txt
blobda1e53f4394d6c1a041d40e6ee19e694f231ba66
1 GENERAL OUTLINE
2 ===============
4 TITLE:          GNOME-1.4 2nd. ed.
5 LFS VERSION:    Tested with 3.3 (gcc3.1 hasn't been tested)
6 AUTHOR:         Scot Mc Pherson <scotATlinuxfromscratchDOTorg>
7 ORIGINAL AUTHORS: roryo and mca <gnomeATlinuxfromscratchDOTorg>
10 SYNOPSIS:
11         Gnome-1.4
14 HINT:
17 INTRODUCTION
18 *****************
19 This hint is an evolution of the original hint produced by roryo and mca. The
20 principle goal of this updated hint is to update the packages. The secondary
21 reason for updating this hint is to arrange the gnome packages in a way that
22 I thought made a little more sense. Most of the packages that were installed
23 --prefix=/usr/X11R6, i have moved to --prefix=/usr. If you ever wanted to
24 upgrade you X11 installation, then its often best to wipe out that entire
25 directory before installing the new version. I also didn't want to put them
26 in the $GNOME_ROOT because if you wanted to wipe out that directory for any
27 reason then you would be wiping out many base libraries, such as graphics
28 libraries and such, that are now updated less frequently since they do a very
29 good job. By installing these items in --prefix=/usr, which is the directory
30 that is generally designated for the most common of user software and libraries,
31 packages that needed to told where to find these dependencies will no longer
32 need the extra direction.
35 First things first
36 *******************
38 The way roryo and mca had the gnome hint set up depended on them keeping current
39 with the development of GNOME. That is a dandy idea, but its hard to know what's
40 current and whether the instructions presented with work with the current
41 available packages. I have taken a different approach, and that is to specify
42 in this hint which revision of a package you should be using. It helps to
43 not have to hunt for the right package and compare the hint with what's
44 available. You are more than free to try a new package if it crops uo and I
45 haven't written it in here yet, but I will do my best to keep this fairly
46 current. As of the time of this writing I have built and tested this hint for
47 about 2 months time, so you can bet its 2 months behind current stable
48 GNOME-1.4. After I have submitted this hint to lfs-hints and blfs, I will
49 update it with the new packages, but my principle goal was to create a hint that
50 was up2date and worked 100% of the time and built a very stable and reliable
51 GNOME desktop. Having the very latest stable sources was an important yet
52 secondary priority.
54 Within the next 2 weeks or so I will compile a wget list so you can download the
55 the appropriate packages for the hint in its current state.
58 Changelog
59 **********************
60 09/09/2002-
61         fixed more typos ... specifcally all:
62         $MOZ_PREFIX/include/mozilla-1.0.0 to $MOZ_PREFIX/include
63 09/08/2002-
64         fixed typo in mozilla
65 09/06/2002-
66         sgml2xml -- changed to ln -s 
67         symlinks -- reverted back to sumlinking includes, instead of fixing
68                 sources. fixing the sources worked but often things the 
69                 user wanted to add would have to be hacked as well. ln -s 
70                 is easier on the user.
71         GMC/Nautilus -- added GMC and/or Nautilus support.
72         eel & librsvg -- Nautilus depends eel and eel depends on librsvg
73         galeon -- added galeon support.
75 06/26/2002-
76         Optimizations -- Globally added optimizing to the package builds
77         pre-build -- Changed the pre-build instructions.
78         GNOME_ROOT -- properly implemented $GNOME_ROOT. You set GNOME_ROOT in
79                 ~/.bash_profile
80         Package Releases -- Updated all instruction to include all current
81                 stable released software. List to follow:
84 06/19/2002-
85         gtkhtml -- added forgotten symlink
87 06/18/2002-
88         ImageMagick -- Changed ImageMagick --prefix=/opt/GNOME, because the
89                 themes were being installed in the wrong place, and had to be
90                 symlinked.
91         gdk-pixbufs -- Removed extra && from gdk-pixbufs
92         docbook -- specified wrong docbook source package, fixed. Gave
93                 more specific installation instructions.
95 Pre-build instructions
96 **********************
98     The build instructions (and a few of the patches) in this hint rely on the
99     following procedures.  This is not optional. Adjust the optimization
100     and architecture variables as you feel comfortable with and based on your
101     architecture (i.e. i486,i586...etc). The optimizations selected here are
102     known to universally be safe and work well.
104         Add the following to your ~/.bash_profile and logout and back in.
105         (I just prefer that to $ source ~/.bash_profile)
107       (this assumes you are using /bin/{bash,sh})
109         export GNOME_ROOT=/opt/GNOME
110         export PATH=$PATH:$GNOME_ROOT/bin
111         export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/opt/lib/pkgconfig
112         export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$GNOME_ROOT/lib/pkgconfig
113         export C_OPTS=' -Os -fomit-frame-pointer -s -mcpu=i686 -march=i686 '
114         alias gcfg='./configure --prefix=$GNOME_ROOT '
116     If you wish, you can add --disable-nls to the above alias.  This will
117     prevent the international messages (.po files) from being installed, and
118     save quite a bit of space.  Some package configure scripts will fail with an
119     error about not finding intl/libgettext.h.  If so, apply the intl.diff
120     included in the patch tarball.
122 After you have relogged in, or sourced your .bash_profile, then:
124         echo $GNOME_ROOT/lib >> /etc/ld.so.conf
127 *********
128 wget.list still need to be built.
129 *********
131     Assuming you used the wget list, you should have a GNOME-patches.tar.bz2.
132     If not, grab it from:
133         http://www.linuxfromscratch.org/~scot/GNOME-patches.tar.bz2
135     Unpack (tar yxvf) this file in /usr/src/ and it will create a patches
136     directory.  The patches are usually quite version specific. The *.wtf files
137     are brief explanations of what and why the patch was needed.
139     To apply:
140         unpack <package>-<version>.tar.gz
141         patch -Np1 -i ../patches/<package>-<version>.patch
144 Miscellaneous Notes
145 ===================
147     * New packages
148         If you feel the urge to use a new package, please feel free. Just
149         understand that it may not compile, or it may cause compile time
150         problems for other packages that depend on it. Obviously it is possible
151         to figure out how to use the new package, otherwise this hint and linux
152         in general wouldn't be possible. It just takes some logic and patience.
154         WARNING:  GTK+-2 and GNOME-2 are not compitible with GNOME-1.4. Please
155         do not attempt to install these unless you really know what you are
156         doing.
158     * FHS Compliance
160         This hint is entirely (?) FHS (www.pathname.com/fhs/) compliant.
161         You are by no means bound to these instructions, but we cannot
162         guarantee the same results if you do stray.
164         GNOME is quite large and scattered.  Choosing /usr as the
165         $GNOME_PREFIX above will be a very messy decision.
167     * Compiler Optimizations
169         If you don't know what these are, you'll be better off ignoring this.
170         The large majority of these packages will honor the $CFLAGS variable.
171         Those that don't (off the top of my head) are libpng, openssl, libdb,
172         and python.  There were some others, but they had to be patched for
173         other reasons so that 'feature' was added.  If you have problems with
174         any packages at runtime, please recompile it without *any*
175         optimizations before telling us about it. The optimization I use by
176         default is -Os which means compile for -O2 except when it increases the
177         size of the binary.
179     * Symlinks
181         These symlinks are here to provide other applications easy access to
182         the package's libraries and headers.  This saves us (and you) much
183         time and effort in hacking Makefiles and such in an attempt to find
184         them.  If you don't follow the symlinking instructions, you are on
185         your own with the detection of these packages by others.
187     * Objective C
189         Several GNOME packages/applications can make use of the objective C
190         compiler, if available.  Some packages will fail if you don't install
191         the proper packages to make use of it, others will fail because you
192         don't have it.  It is not required in any way.
194         To install the objc compiler, follow the directions for GCC in the
195         shared section of the LFS book (chapter 6, as of 3.3).  Make the
196         following change:
197             Instead of:  --enable-languages=c,c++
198             Use:  --enable-languages=c,c++,objc
200         Install gcc per the instructions and continue your quest.
202     * TODO - Known bugs/issues
204         *  Add dependency notes.  GnuCash is a good example.  If you wish to
205            skip it, you can skip at least three other packages too.
207         *  Rid of the MISSING's.
210 Software installation
211 =====================
214 Prerequisites not covered here
215 ******************************
217     In addition to a base LFS system, you will need the following:
219         X11:  http://www.xfree86.org/
220         zlib: ftp://ftp.uu.net/graphics/png/src
222     See the X11 hint for their installation.
225 Pre-GNOME packages
226 ******************
227 Unzip-542
228         Unix Unzip, used to extract some zip files.
231 cd unix &&
232 cp Makefile ../ &&
233 cd .. &&
234 make linux &&
235 cp unzip funzip unzipsfx /usr/bin
239 ***NOTE: You must install db-3, but don't have to install db-4 if you do not
240          wish to. If you want to install db-4, you must install db-3 first, then
241          upgrade to db-4. The sed script after db-3 isn't necessary if you
242          install db-4. It is provided for both versions, just so you don't
243          forget. Remember, you MUST install db-3 no matter what.
245 Berzerkeley DB: (3.3.11 specific)
246     UCB's database library version-3. (Necessary whether you build db-4 or not)
249 cd build_unix/
250 ../dist/configure --prefix=/usr --enable-compat185 \
251 --enable-static --enable-shared
252 make docdir=/usr/doc/Berkeley-DB all install
253 cd /usr/lib/ && ln -sf libdb-3.3.a libdb.a
254 sed 's/^DB185/DB/' /usr/include/db_185.h > /usr/include/db_185.h.new
255 mv /usr/include/db_185.h.new /usr/include/db_185.h
260 Berzerkeley DB: (4.0.14 specific)
261     UCB's database library version-4. (optional, but db-3 is not optional
262     whether you decide to install db-4 or not.
264 cd build_unix/
265 ../dist/configure --prefix=/usr --enable-compat185 \
266 --enable-static --enable-shared
267 make docdir=/usr/doc/Berkeley-DB all install
268 cd /usr/lib/ && ln -sf libdb-4.0.a libdb.a
269 sed 's/^DB185/DB/' /usr/include/db_185.h > /usr/include/db_185.h.new
270 mv /usr/include/db_185.h.new /usr/include/db_185.h
275 readline-4.2a:
276     GNU readline.  Command line history and editing.
279 CFLAGS=$C_OPTS \
280 ./configure --prefix=/usr &&
281 make all install &&
282 ldconfig
286 bc-1.06:
287     GNU calculator.
289 CFLAGS=$C_OPTS \
290 ./configure --prefix=/usr --with-readline
291 sed 's|\(^_PR.*readline.*$\)|/* \1 */|' bc/scan.l > new-scan.l &&
292 mv new-scan.l bc/scan.l &&
293 make all install &&
294 ldconfig
298 openssl-0.9.6d:
299     Open source SSL library.
301     *** See FHS note!
302     *** See symlink note!
305 export OPENSSL_ROOT=/usr/local/openssl &&
306 ./config --prefix=$OPENSSL_ROOT --openssldir=$OPENSSL_ROOT shared threads &&
307 make &&
308 make install &&
309 cd /usr/lib && 
310 for file in lib{crypto,ssl}.{a,so.0.9.6}
312 ln -s $OPENSSL_ROOT/lib/$file
313 done &&
314 ln -s libcrypto.so.0.9.6 libcrypto.so.0 &&
315 ln -s libssl.so.0.9.6 libssl.so.0 &&
316 ln -s libcrypto.so.0 libcrypto.so &&
317 ln -s libssl.so.0 libssl.so &&
318 cd /usr/include &&
319 ln -s $OPENSSL_ROOT/include/openssl &&
320 cd $OPENSSL_ROOT/include &&
321 for i in openssl/*; do ln -s $i; done &&
322 unset OPENSSL_ROOT &&
323 ldconfig
327 Python-2.1.2: (optional)
328     The Python interpreted programming language.
330 OPT=$C_OPTS \
331 ./configure --prefix=/usr --with-threads &&
332 make all install &&
333 ldconfig
335     *** FHS note - if installed anywhere else a symlink must be made from
336         the python binary to /usr/bin/python eg
337         ln -s <path-to-python> /usr/bin/python
343 PostGreSQL-7.2.1: (optional)
344     The most advanced open source SQL server.
345     You should probably read the documentation, but this is how I like it.
347     *** See FHS note!
348     *** See symlink note!
351 export PGSQL_ROOT=/usr/local/postgresql &&
352 CFLAGS=$C_OPTS \
353 ./configure --prefix=$PGSQL_ROOT --with-ssl --disable-static &&
354 make all install &&
355 cd /usr/lib &&
356 for file in lib{pq,pgeasy}.so.2.1; do
357 ln -s $PGSQL_ROOT/lib/$file
358 done &&
359 ln -s libpq.so.2.1 libpq.so.2 &&
360 ln -s libpgeasy.so.2.1 libpgeasy.so.2 &&
361 ln -s libpq.so.2 libpq.so &&
362 ln -s libpgeasy.so.2 libpgeasy.so &&
363 cd /usr/include &&
364 ln -s $PGSQL_ROOT/include/* ./ &&
365 unset PGSQL_ROOT &&
366 ldconfig
370 MySQL-3.23.51: (optional)
371     A fast open source SQL server.
372     You should probably read the documentation, but this is how I like it.
374     *** See FHS note!
375     *** See symlink note!
378 export MYSQL_ROOT=/usr/local/mysql &&
379 CFLAGS='-fomit-frame-pointer -s' \
380 CXXFLAGS='-fomit-frame-pointer -s' \
381 ./configure --prefix=$MYSQL_ROOT --disable-static --enable-thread-safe-client \
382 --without-debug --without-bench --without-readline --with-berkeley-db=./bdb &&
383 make all install &&
384 cd /usr/lib &&
385 ln -s $MYSQL_ROOT/lib/mysql/libmysqlclient.so.10.0.0 &&
386 ln -s libmysqlclient.so.10.0.0 libmysqlclient.so.10 &&
387 ln -s libmysqlclient.so.10 libmysqlclient.so &&
388 cd /usr/include &&
389 ln -s $MYSQL_ROOT/include/mysql &&
390 unset MYSQL_ROOT &&
391 ldconfig
395 jpeg-6b:
396     Library for accessing jpeg images.
398 CFLAGS=$C_OPTS \
399 ./configure --prefix=/usr --enable-shared --enable-static &&
400 make &&
401 make install &&
402 ldconfig
407 libpng-1.2.1:
408     Library for accessing png images.
411 cp scripts/makefile.linux Makefile &&
412 sed s/-g// Makefile > ~tmp &&
413 sed s/'-O3'/'-O3 -fomit-frame-pointer -s'/ ~tmp > Makefile &&
414 make ZLIBINC=/usr ZLIBLIB=/usr prefix=/usr all install &&
415 ldconfig
420 libungif-4.1.0b1:
421     Library for accessing gif images.
423 CFLAGS=$C_OPTS \
424 ./configure --prefix=/usr &&
425 make all install &&
426 ldconfig
430 tiff-v3.5.7:
431     Library for accessing tiff images.
433 ./configure --prefix=/usr --with-GCOPTS=' -Os ' \
434 --with-OPTIMIZER=' -fomit-frame-pointer -s ' --noninteractive &&
435 make all install &&
436 ldconfig
441 lcms-1.08:
442     Color correction/management library. 
445 cd src &&
446 sed /CFLAGS/s/'-g -O4'/'-Os -s'/ Makefile > ~tmp &&
447 mv ~tmp Makefile &&
448 make all install &&
449 ldconfig
453 libmng-1.0.3:
454     Library for accessing mng (animated) images.
455     mng is the Open Source alternative to animated gifs
456         
457 CFLAGS=$C_OPTS \
458 ./configure --prefix=/usr --with-zlib=/usr \
459 --with-jpeg=/usr --with-lcms=/usr &&
460 make all install &&
461 ldconfig
466 libiconv-1.8:
467     An iconv() implementation that properly supports UTF-*.
469 CFLAGS=$C_OPTS \
470 ./configure --prefix=/usr --enable-static --enable-shared &&
471 make &&
472 make install &&
473 ldconfig
478 glib-1.2.10:
479     An extension library to glibc.
481 CFLAGS=$C_OPTS \
482 ./configure --prefix=/usr --enable-threads --enable-debug=no &&
483 make all install &&
484 ldconfig
489 GTK+-1.2.10:
490     The Gimp Toolkit.. an X11 widget library.
492 CFLAGS=$C_OPTS \
493 ./configure --prefix=/usr --enable-debug=no --with-x &&
494 make all install &&
495 ldconfig
500 ORBit-0.5.17:
501     A CORBA implementation.
503 CFLAGS=$C_OPTS \
504 ./configure --prefix=/usr &&
505 make all install &&
506 mkdir -p $GNOME_ROOT/lib &&
507 cd $GNOME_ROOT/lib &&
508 for i in /usr/lib/libIDL*; do ln -s $i; done &&
509 ldconfig
514 libxml-1.8.17:
515     The gnome-xml library (Used for much more than gnome).
517 CFLAGS=$C_OPTS \
518 ./configure --prefix=/usr --with-zlib=/usr --with-buffers &&
519 make all install &&
520 cd $GNOME_ROOT/lib &&
521 ln -s /usr/lib/xmlConf.sh &&
522 ln -s /usr/lib/libxml.a &&
523 ln -s /usr/lib/libxml.la &&
524 ln -s /usr/lib/libxml.so.1.8.17 &&
525 ln -s libxml.so.1.8.17 libxml.so.1 &&
526 ln -s libxml.so.1 libxml.so &&
527 ldconfig
532 libxml2-2.4.19:
533     The xml library.
535 CFLAGS=$C_OPTS \
536 ./configure --prefix=/usr --with-zlib=/usr \
537 --with-readline=/usr --with-buffers \
538 --with-threads --with-python &&
539 make all install &&
540 cd /usr/include/libxml2 &&
541 for i in libxml/*; do ln -sf $i; done &&
542 cd $GNOME_ROOT/lib &&
543 ln -s /usr/lib/xml2Conf.sh &&
544 ln -s /usr/lib/libxml2.so.2.4.19 &&
545 ln -s /usr/lib/libxml2.a &&
546 ln -s /usr/lib/linxml2.la &&
547 ln -s libxml2.so.2.4.19 libxml2.so.2 &&
548 ln -s libxml2.so.2 libxml2.so &&
549 ldconfig
550         
553         
554 GhostScript-6.53:
555     The GhostScript package.  Used for post-script and network printing.
557         From inside the ghostscript-6.53 directory do:
559 tar zxvf <path/to/jpeg6bsrc.tar.gz>
560 mv jpeg-6b jpeg
561 tar jxvf <path/to/zlib-1.1.4.tar.bz2>
562 mv zlib-1.1.4 zlib
564         Then:
566 patch -Np1 -i ../patches/ghostscript-6.53.patch &&
567 sed /CFLAGS_STANDARD/s/-O2/'-Os -fomit-frame-pointer -s'/ \
568 src/unix-gcc.mak > Makefile &&
569 make  &&
570 make install &&
571 ldconfig
576 GhostScript Fonts:
577     GhostScript Fonts.
578     This will create the fonts directory, there are other GhostScript fonts available if
579     you feel so inclined.
582 cd /usr/X11R6/share/ghostscript
583 tar zxvf <path/to/gnu-gs-fonts.std-6.0.tar.gz>
584 tar zxvf <path/to/gnu-gs-fonts.other-6.0.tar.gz>
589 ImageMagick-5.4.6-3:
590     Provides many useful image manipulation functions, plus a few handy
591     executables.
592     NOTE: if you have the TrueType fonts installed in a different
593               path you will have to changes the --with--ttf-fontpath.
595 CFLAGS=' -O3 -s -funroll-loops -finline-functions ' \
596 CXXFLAGS=' -Os -s -funroll-loops -finline-functions ' \
597 ./configure --prefix=$GNOME_ROOT --enable-shared --enable-static \
598 --with-ttf-fontpath=/usr/X11R6/lib/X11/fonts/ttf \
599 --with-gs-font-dir=/usr/X11R6/share/ghostscripts/fonts \
600 --with-x &&
601 make &&
602 make install &&
603 ldconfig
608 imlib-1.9.14:
609     Library providing access to all of the above image formats.
610         
611 CFLAGS=$C_OPTS \
612 ./configure --prefix=/usr --with-x &&
613 make &&
614 make install &&
615 ldconfig
620 audiofile-0.2.2:
621     Library providing access to several different audio formats.
623 CFLAGS=$C_OPTS \
624 ./configure --prefix=/usr &&
625 make &&
626 make install &&
627 ldconfig
632 esound-0.2.24:
633     The enlightened sound daemon.
634         
635 CFLAGS=$C_OPTS \
636 ./configure --with-audiofile --prefix=/usr && 
637 make &&
638 make install &&
639 ldconfig
644 gtk-engines-0.12:
645     GTK+ themes and theme libraries.
647 CFLAGS=$C_OPTS \
648 gcfg --enable-static --enable-shared &&
649 make &&
650 make install &&
651 ldconfig
656 expat-1.95.3:
657 CFLAGS=$C_OPTS \
658 ./configure --prefix=/usr/local &&
659 make &&
660 make install &&
661 ldconfig
666 GNOME core packages
667 *******************
668     MISSING:  mc/nautilus
672 popt-1.6.4:
673     Red hat's getopt()-ish replacement.
675 CFLAGS=$C_OPTS \
676 ./configure --prefix=/usr &&
677 make &&
678 make install &&
679 ldconfig
684 libunicode-0.4:
685     Gnome's Unicode interface.
687 CFLAGS=$C_OPTS \
688 gcfg &&
689 make &&
690 make install &&
691 ldconfig
696 gnome-libs-1.4.1.7:
697     The core GNOME libraries.
699 CFLAGS=$C_OPTS \
700 gcfg --with-x &&
701 make &&
702 make install &&
703 ldconfig
708 gdk-pixbuf-0.18.0:
709     The gtk+ pixbuf library.
711 CFLAGS=$C_OPTS \
712 gcfg --with-x &&
713 make &&
714 make install &&
715 cd $GNOME_ROOT/include &&
716 ln -s gdk-pixbuf-1.0/* ./ &&
717 ln -s gdk-pixbuf-1.0/* $GNOME_ROOT/include/gnome-1.0/ &&
718 ldconfig
723 oaf-0.6.10:
724     Object Activation Framework for GNOME.
726 CFLAGS=$C_OPTS \
727 gcfg --enable-static --enable-shared \
728 --enable-oaf-debug=no &&
729 make &&
730 make install &&
731 ldconfig
736 libghttp-1.0.9:
737     Library for speaking the http protocol.
739 CFLAGS=$C_OPTS \
740 gcfg &&
741 make &&
742 make install &&
743 ldconfig
747 **************************
748 NOTE**********************
749 **************************
750 intl-tools-0.22:
751         Replacement for xml-i18-tools which is supposed to be deprecated.
752         I am still testing results. I am not installing xml-i18-tools on my
753         system, but you may wish to continue doing so. Just be warned I am
754         still uncertain of the final results either way.
756 gcfg &&
757 make &&
758 make install &&
759 ln -sf $GNOME_ROOT/bin/intltool-extract $GNOME_ROOT/bin/xml-i18n-extract &&
760 ldconfig
762 xml-i18-tools-0.9:
765 gcfg &&
766 make &&
767 make install &&
768 ldconfig
771 *****************************
772 END NOTE*********************
773 *****************************
776 libxslt-1.0.18:
778 CFLAGS=$C_OPTS \
779 gcfg --with-python &&
780 make &&
781 make install &&
782 ldconfig
786 docbook-4.1.2:
787 (docbkx412.zip)
789 mkdir docbook &&
790 cd docbook &&
791 cp ../docbkx412.zip ./ &&
792 unzip docbkx412.zip &&
793 mkdir -p /usr/share/sgml/docbook/xml-dtd-4.1.2 &&
794 cp -a * /usr/share/sgml/docbook/xml-dtd-4.1.2
799 openjade-1.3.1:
801 CFLAGS=$C_OPTS \
802 CXXFLAGS=$C_OPTS \
803 ./configure --prefix=/usr &&
804 make &&
805 make install &&
806 ln -s nsgmls /usr/bin/sgml2xml &&
807 ldconfig
811 sp-1.3.4:
814 sed s%"opt/local"%"usr"% Makefile > Makefile~ &&
815 sed -e /CXX/s/'-O2'/'-Os -fomit-frame-pointer -s '/ \
816     -e /CFLAGS/s/'-O'/'-Os -fomit-frame-pointer -s '/ \
817     Makefile~ > Makefile &&
818 make &&
819 make install &&
820 ldconfig
826 scrollkeeper-0.3:
827     Scrollkeeper Open Documentation Cataloging System.
830 sed 's|=lib/scrollkeeper|=scrollkeeper|g' configure > configure~ &&
831 cp configure~ configure &&
832 CFLAGS=$C_OPTS \
833 gcfg &&
834 make &&
835 make install &&
836 ldconfig
841 gnome-print-0.36:
842     GNOME print library.
844 CFLAGS=$C_OPTS \ 
845 gcfg --with-zlib=/usr &&
846 make &&
847 make install &&
848 ldconfig
853 bonobo-1.0.20:
854     GNOME component and compound document system.
857 CFLAGS=$C_OPTS \
858 gcfg &&
859 make &&
860 make install &&
861 ldconfig
866 guile-1.4:
867     GNU scheme implementation.
869 patch -Np1 -i ../patches/guile-1.4.patch &&
870 CFLAGS=$C_OPTS \
871 gcfg --with-threads &&
872 make &&
873 make install &&
874 ldconfig
879 slib-2d1:
880         Scheme library extension.
882 make prefix=$GNOME_ROOT &&
883 make prefix=$GNOME_ROOT install &&
884 GUILE_LOAD_PATH=$GNOME_ROOT/share/guile/slib \
885 guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)" &&
886 ldconfig
890 GConf-1.0.9:
891     A configuration database system.
894 patch -Np1 -i ../patches/GConf-1.0.9-2.patch &&
895 CFLAGS=$C_OPTS \
896 CXXFLAGS=$C_OPTS \
897 gcfg --enable-debug=no &&
898 make &&
899 make install &&
900 ldconfig
904 gnome-mime-data-1.0.1:
906 CFLAGS=$C_OPTS \
907 gcfg &&
908 make &&
909 make install &&
910 ldconfig
914 pkg-config-0.12.0
916 CFLAGS=$C_OPTS \
917 ./configure --prefix=/usr &&
918 make &&
919 make install &&
920 ldconfig
924 gnome-vfs-1.0.5:
925     GNOME virtual file system.
927 CFLAGS=$C_OPTS \
928 gcfg --enable-gconf --with-openssl=/usr/local/openssl --with-libiconv &&
929 make &&
930 make install &&
931 ldconfig
935 control-center-1.4.0.5:
936     GNOME configuration tool.
938 CFLAGS=$C_OPTS \
939 gcfg &&
940 make &&
941 make install &&
942 ln -s ../gnome-panel.h $GNOME_ROOT/include/gnome-1.0/ &&
943 ln -s ../applet-widget.h $GNOME_ROOT/include/gnome-1.0/ &&
944 ln -s libcappet1/capplet-widget.h $GNOME_ROOT/include/ &&
945 ldconfig
949 libglade-0.17:
950     Library for loading glade interface files at runtime.
952 CFLAGS=$C_OPTS \
953 gcfg --enable-bonobo --enable-gnomedb &&
954 make &&
955 make install &&
956 ldconfig
960 bug-buddy-2.0.8:
961     Gnome front-end to bugzilla for submitting bug reports.
963 CFLAGS=$C_OPTS \
964 gcfg &&
965 make &&
966 make install &&
967 ldconfig
971 pygtk-0.6.9:
972     GTK+ python bindings.
974 CFLAGS=$C_OPTS \
975 ./configure --prefix=/usr --enable-shared --enable-static &&
976 make &&
977 make install &&
978 ldconfig
982 gal-0.19.3:
983     GNOME Application library.
985 CFLAGS=$C_OPTS \
986 gcfg &&
987 make &&
988 make install &&
989 ldconfig
994 w3c-libwww-5.3.2:
995     w3c's www-ish libraries.
997 patch -Np1 -i ../patches/w3c-libwww-5.3.2.patch &&
998 CFLAGS=$C_OPTS \
999 gcfg --with-zlib --with-md5 --with-ssl=/usr/local/openssl &&
1000 make &&
1001 make install &&
1002 ldconfig
1006 glibwww-0.2:
1007     Glib extension for access to w3c-libwww
1009 CFLAGS=$C_OPTS \
1010 gcfg &&
1011 make &&
1012 make install &&
1013 ldconfig
1018 gtkhtml-1.0.4:
1019     An html parsing library.
1021 patch -Np1 -i ../patches/gtkhtml-1.0.4-2.patch &&
1022 CFLAGS=$C_OPTS \
1023 gcfg --with-bonobo --with-gconf &&
1024 make &&
1025 make install &&
1026 ln -s ../gtkhtml $GNOME_ROOT/include/gnome-1.0 &&
1027 ldconfig
1030 libgtop-1.0.13:
1031     Library for accessing /proc.
1033     (If build fails because of ISDN_MAX_CHANNELS, add #define
1034     ISDN_MAX_CHANNELS 64 to the .c file that failed and recompile.
1035     This is a kernel issue.  2.4.6 has fixed it.)
1037 CFLAGS=$C_OPTS \
1038 gcfg --with-libgtop-guile --with-libgtop-inodedb --with-x &&
1039 make &&
1040 make install &&
1041 ldconfig
1044 gmp-4.0.1:
1045     GNU's precision math library.
1047 CFLAGS=$C_OPTS  \
1048 ./configure --prefix=/usr &&
1049 make &&
1050 make install &&
1051 ldconfig
1055 gdbm-1.8.0:
1056     GNU's dbm replacement library.
1058 CFLAGS=$C_OPTS \
1059 gcfg &&
1060 make BINOWN=root BINGRP=root &&
1061 make install &&
1062 ldconfig
1067 librep-0.15.2:
1068     Lisp implementation.
1070 patch -Np1 -i ../patches/librep-0.15.2-2.patch &&
1071 CFLAGS=$C_OPTS \
1072 gcfg --with-readline --enable-shared --enable-static --with-gprof &&
1073 make &&
1074 make install &&
1075 ldconfig
1080 rep-gtk-0.15:
1081     Lisp bindings for GTK+.
1083 CFLAGS=$C_OPTS \
1084 gcfg --with-gnome --with-libglade --with-gdk-pixbuf \
1085 --with-gnome-canvas-pixbuf &&
1086 make &&
1087 make install &&
1088 ldconfig
1093 gob-1.0.12:
1094     GTK+ Object Builder.
1096 CFLAGS=$C_OPTS \
1097 gcfg &&
1098 make &&
1099 make install &&
1100 ldconfig
1106 libgda-0.2.96:
1107     Library to interface SQL servers.
1109 sed 's/libmysqlclient.a/libmysqlclient.so/g' configure > conf.new &&
1110 sed 's/\(ORB.*\)which\(.*\)/\1type -p\2/' conf.new > configure &&
1111 CFLAGS=$C_OPTS \
1112 gcfg --with-mysql=/usr/local/mysql --with-postgres=/usr/local/postgresql &&
1113 make &&
1114 make install &&
1115 ldconfig
1120 sawfish-1.0.1:
1121     The Sawfish window manager.
1123 CFLAGS=$C_OPTS \
1124 gcfg --with-gdk-pixbuf --with-x --with-audiofile --enable-capplet \
1125 --enable-themer --with-esd --disable-linguas &&
1126 make &&
1127 make install &&
1128 ldconfig
1131 gnome-core-1.4.1:
1132     Core GNOME applications. The patch is optional and only effects what
1133     splash screen you get when you start gnome.
1135 patch -Np1 -i ../patches/gnome-core.1.4.1-2.patch
1136 CFLAGS=$C_OPTS \
1137 gcfg --with-window-manager=sawfish &&
1138 make &&
1139 make install &&
1140 ln -s ../gnome-panel.h $GNOME_ROOT/include/gnome-1.0/ &&
1141 ldconfig
1144 gnome-common-1.2.1:
1145     Autoconf/make files for GNOME.
1147 CFLAGS=$C_OPTS \
1148 gcfg
1149 make &&
1150 make install &&
1151 ldconfig
1153 librsvg-1.0.3:
1156 CFLAGS=$C_OPTS \
1157 ./configure --prefix=$GNOME_ROOT
1158 make &&
1159 make install &&
1160 ldconfig
1162 eel-1.0.2:
1165 CFLAGS=$C_OPTS \
1166 ./configure --prefix=$GNOME_ROOT 
1167 make &&
1168 make install &&
1169 ldconfig 
1171 gnome-objc-1.0.40: (optional)
1173     *** See the OBJC note
1175     Objective C bindings for GNOME.
1177 CFLAGS=$C_OPTS \
1178 gcfg &&
1179 make &&
1180 make install &&
1181 ldconfig
1184 gnome-admin-1.0.3:
1185     Administration utilities.
1187 CFLAGS=$C_OPTS \
1188 gcfg --with-messages=/var/log/sys.log
1189 make &&
1190 make install &&
1191 ldconfig
1193 gnome-applets-1.4.0.5:
1194     Many different GNOME applets.
1196 CFLAGS=$C_OPTS \
1197 gcfg &&
1198 make &&
1199 make install &&
1200 ldconfig
1204 gnome-audio-1.4.0:
1205     Sounds.
1207 make install
1211 gnome-python-1.4.2: (optional)
1212     Python binding for GNOME
1214 CFLAGS=$C_OPTS \
1215 gcfg --with-gtkhtml &&
1216 make &&
1217 make install &&
1218 ldconfig
1223 gnome-games-1.4.0.4:
1224     Games!
1226 CFLAGS=$C_OPTS \
1227 CXXFLAGS=$C_OPTS \
1228 gcfg &&
1229 make &&
1230 make install &&
1231 ldconfig
1234 gnome-media-1.2.3:
1235     Multimedia applications.
1237 CFLAGS=$C_OPTS \
1238 gcfg &&
1239 make &&
1240 make install &&
1241 ldconfig
1245 gnome-network-1.0.2:
1246     Network applications/utilities.
1247         If you don't have objc (see note), apply the patch.
1249 CFLAGS=$C_OPTS \
1250 gcfg &&
1251 make &&
1252 make install &&
1253 ldconfig
1257 gnome-pim-1.4.0:
1258     Personal information manager for GNOME.
1260 CFLAGS=-Os \
1261 CXXFLAGS=-Os \
1262 gcfg &&
1263 make &&
1264 make install &&
1265 ldconfig
1269 gnome-utils-1.4.1.2:
1270     Several miscellaneous utilities.
1272 CFLAGS=-Os \
1273 CXXFLAGS=-Os \
1274 gcfg --with-messages=/var/log/sys.log &&
1275 make &&
1276 make install &&
1277 ldconfig
1281 ***********NOTE**********************************************
1282 You should pick either gmc or nautilus as a desktop manager.
1283 gmc is old and depreicated, but smaller and faster than 
1284 nautilus. nautilus on the otherhand is big an fat, but new
1285 and very pretty and functional. On slower machines you should
1286 definately not choose nautilus.
1287 In fact you might decide you don't want either on real slow
1288 machines.
1291 mc-4.5.55:
1292         mc includes gmc which is the older gnome desktop manager
1293         if you have samba you should include --with-samba in the
1294         configure. If you have e2undel installed (you should) then
1295         you should also have --with-ext2undel enabled.
1297 CFLAGS=$COPTS \
1298 ./configure --prefix=$GNOME_ROOT --with-ncurses --with-gnome \
1299         --with-gpm-mouse --with-subshell --with-vfs --with-x \
1300         --disable-static &&
1301 make &&
1302 make install &&
1303 ldconfig
1306 nautilus-1.0.6
1308 CFLAGS=$C_OPTS \
1309 ./configure --prefix=$GNOME_ROOT --disable-mozilla-component \
1310         --with-libiconv &&
1311 make &&
1312 make install &&
1313 ldconfig
1315 **************************************************************
1319 xscreensaver-4.02:
1320     Screensavers!
1322 CFLAGS=$C_OPTS \
1323 gcfg --with-gl --with-gle --with-gtk --with-gnome --with-hackdir=xdemos &&
1324 make &&
1325 make install &&
1326 ldconfig
1329 gnome-user-docs-1.4.1.1:
1330     GNOME Documentation.
1332 gcfg &&
1333 make &&
1334 make install &&
1335 ldconfig
1339 users-guide-1.2:
1340     More GNOME documentation.
1342 gcfg
1343 make &&
1344 make install &&
1345 ldconfig
1348 GNOME applications
1349 ******************
1350   MISSING:  Evolution,
1353 galeon-1.2.5:
1354         First install mozilla-1.0 (not mozilla-1.1) by
1355         following the mozilla hint by tushar. Use the
1356         make install method with one addendum if he hasn't
1357         added this to his hint yet. Copy the headers that
1358         seem to be missed by $ make install. You can do this
1359         by issuing the following command substituting $MOZ_SRC
1360         and $MOZ_PREFIX with the source and --prefix direcoties
1361         accordingly. This command is entirely safe as it will not
1362         effect anything previously installed and will only copy
1363         what has not been already copied.
1365 cp -Lur $MOZ_SRC/dist/include/* $MOZ_PREFIX/include/
1366         
1367         Now you want to set your global environment to inlcude the
1368         location of mozilla. Do this by ( substiture $MOZ_PREFIX ):
1370         echo "export MOZILLA_FIVE_HOME=$MOZ_PREFIX/lib/mozilla-1.0.0"
1372         then logout and relogin (don't just export it in a terminal window
1373         
1374         After you have done the above then follow the rest for galeon
1375         (If you have decided to install nautilus then include 
1376         --enable-nautilus-view=yes) :
1378 CFLAGS=$C_OPTS \
1379 CXXFLAGS=$C_OPTS \
1380 ./configure --prefix=$GNOME_ROOT \
1381 --with-mozilla-home=$MOZ_PREFIX \
1382 --with-mozilla-libs=$MOZ_PREFIX/lib/mozilla-1.0.0 \
1383 --with-mozilla-inlcudes=$MOZ_PREFIX/include \
1384 --with-nspr-includes=$MOZ_PREFIX/include/nspr &&
1385 make &&
1386 make install &&
1387 ldconfig
1390 dia-0.88:
1391     Diagram creation application.
1392         gcfg \
1393           --enable-gnome \
1394           --enable-bonobo \
1395           --enable-debug=no \
1396           --with-python
1397         make all install
1399 g-wrap:
1400     Glib scheme bindings.
1401         gcfg
1402         make all install
1404 libole2-0.2.3:
1405     MS OLE library.
1406         gcfg
1407         make all install
1409 gb-0.0.20:
1410     GNOME-basic.  (Yes, kinda like visual-basic).
1411         Apply the patch
1412         gcfg --without-runtime-debug
1413         make all install
1415 gnumeric-1.0.5:
1416     GNU Spreadsheet application.
1417         Apply the patch
1418         gcfg \
1419           --with-bonobo \
1420           --with-guile \
1421           --with-gb \
1422           --with-python
1423         make all install
1425 Guppi-0.40.3:
1426     Library for creating/drawing graphs and charts.
1427         gcfg --enable-gnumeric
1428         make all install
1430 glade-0.6.2:
1431     A quick GUI IDE.
1432         gcfg \
1433           --with-gnome \
1434           --with-bonobo \
1435           --disable-gnome-db
1436         make all install
1438 gnucash-1.6.6:
1439     GNU money management program.. quite similar to quickbooks and such.
1440         Apply the patch
1441         gcfg (add --enable-sql if you have postgres)
1442         make all install    
1446 NOTE: I haven't built this one yet....I can't verify it will work, but it used
1447         work with abi-0.7.14, but that's very very old. I will update this
1448         soon.
1450 abiword-0.99.1:
1451     GNU Word processor. 
1452         Apply the patch
1453         cd abiword/abi/src/
1454         make \
1455           prefix=$GNOME_ROOT \
1456           ABI_OPT_GNOME=1 \
1457           ABI_OPT_BONOBO=1 \
1458           OPTIMIZER="$CFLAGS \
1459             -L/usr/X11R6/lib -I/usr/X11R6/include \
1460             -L$GNOME_ROOT/lib -I$GNOME_ROOT/include \
1461             -L/usr/local/lib -I/usr/local/include"
1462         make install \
1463           prefix=$GNOME_ROOT \
1464           ABI_OPT_GNOME=1 \
1465           ABI_OPT_BONOBO=1 \
1466           OPTIMIZER="$CFLAGS \
1467             -L/usr/X11R6/lib -I/usr/X11R6/include \
1468             -L$GNOME_ROOT/lib -I$GNOME_ROOT/include \
1469             -L/usr/local/lib -I/usr/local/include"
1472 xmms-1.2.7
1473         eXtensible MultiMedia System
1475 CFLAGS=-Os \
1476 ./configure --prefix=/opt/xmms
1477 make LDFLAGS=-libiconv &&
1478 make install
1481 Other apps
1482 **********
1484   There are many more gnome applications out there, but most are a fairly
1485 simple build and aren't (yet) covered in this hint.  A few you may wish to
1486 check out are:
1488     * GTM - Gnome Transfer Manager (a nice little download manager)
1489     * PAN - Pimp Ass Newsreader
1490     * Encompass - gtkhtml based browser
1491     * xChat - the best GUI irc client, 'nuff said
1492     * gnotepad - gvim owns, but nice for mutilple docs at once
1493     * Balsa - nice stable GUI mail app, based on Pine
1494     * Pharmacy - Gnome CVS front end
1495     * Gimp - the root of it all, graphics app, total ownage
1496     * EOG - Eye of Gnome.. an image viewer
1497     * GQView - a better gtk+ based image viewer
1501 Frequently Asked Questions
1502 ==========================
1504     Q:  How do I properly start gnome?
1505     A:  You do one of the following:
1506             echo gnome-session > ~/.xinitrc
1507         or, if you wish to enable those annoying little sounds,
1508             echo gnome-session --enable-sound > ~/.xinitrc
1510     Q:  I'm trying to build packageXXX from CVS sources, or just regenerate
1511         its configure script from configure.in, but autoconf bitches about not
1512         having some other gnome package installed.  WTF?
1513     A:  Autoconf is dumb and can/will only use one search directory for the
1514         .m4 files these packages install.  You should probably do the
1515         following:
1517             mv $GNOME_PREFIX/share/aclocal/* /usr/share/aclocal/ &&
1518             rm -r $GNOME_PREFIX/share/aclocal && cd $GNOME_PREFIX/share &&
1519             ln -s /usr/share/aclocal
1521     Q:  Am I stupid?
1522     A:  Obviously, yes.
1524 ============
1525 End of hint.