Typo
[linux_from_scratch_hints.git] / OLD / gnome.txt
blobae732e347fd97fe007319e5c5cf824f9473497d7
1 TITLE:          Compiling and Installing Gnome 1.4
2 LFS VERSION:    2.4.4
3 AUTHOR:         Mike Labriola <labriomd@clarkson.edu>
5 SYNOPSIS:
6         Compiling and installing Gnome 1.4, including nautilus w/ mozilla.
8 HINT:
9 v0.9 - 04/20/2001
10 ===============================================================================
11 I.   Intro
13 This hint should help you figure out what packages you need to download, and
14 what order to compile them in in order to install Gnome 1.4 with Nautilus
15 and Mozilla support.  Your box might not already have some things installed
16 that mine does, such as python and guile.  Actually they're might be a bunch
17 of things like that.  If you get to a point where one of the configure
18 scripts yells at you, go get the required packag(s) and compile them.
21 ===============================================================================
22 II.  Get the stuff
24 Ok, there's quite a list of stuff for you to download...
25 First of all, I'll try and list some of the packages that you may or may not
26 have already installed.  This is just coming off the top of my head, so I
27 doubt it's complete...
29         libungif
30         libjpeg
31         libpng
32         libtiff
33         db
34         bc
35         python
36         perl
37         guile
38         gmp
39         gdbm
40         librep
41         xscreensaver
42         
43 Now, for the stuff I'll help you install... Most of these should be
44 available from ftp.gnome.org (or a mirror) in
45 /pub/GNOME/stable/releases/gnome-1.4/ or /pub/GNOME/unstable/sources/
46 The version I installed is in parenthesis
48         GConf           (1.0.0)
49         ORBit           (0.5.7)
50         ammonite        (1.0.0)
51         audiofile       (0.2.1)
52         bonobo          (1.0.2)
53         bug-buddy       (2.0)
54         control-center  (1.4.0.1)
55         esound          (0.2.22)
56         freetype        (2.0.2)
57         gal             (0.5)
58         gdk-pixbuf      (0.10.1)
59         gdm             (2.2.0)
60         ggv             (1.0)
61         ghex            (1.2)
62         glade           (0.6.2)
63         glib            (1.2.9)
64         gnome-applets   (1.4.0.1)
65         gnome-audio     (1.4.0)
66         gnome-core      (1.4.0.1)
67         gnome-db        (0.2.3)
68         gnome-games     (1.4.0.1)
69         gnome-guile     (0.20)
70         gnome-libs      (1.2.13)
71         gnome-media     (1.2.0)
72         gnome-pim       (1.4.0)
73         gnome-print     (0.28)
74         gnome-python    (1.4.0)
75         gnome-user-docs (1.4.1)
76         gnome-utils     (1.4.0)
77         gnome-vfs       (1.0)
78         gnomemm         (1.1.15)
79         gtk+            (1.2.9)
80         gtk-engines     (0.12)
81         gtkhtml         (0.8.3)
82         gtkmm           (1.2.5)
83         gtop            (1.0.13)
84         imlib           (1.9.10)
85         libgda          (0.2.3)
86         libghttp        (1.0.9)
87         libglade        (0.16)
88         libgtop         (1.0.13)
89         libsigc++       (1.0.3)
90         libunicode      (0.4.gnome)
91         libxml          (1.8.11)
92         mozilla-source  (0.8.1 get this from mozilla.org, needed by nautilus)
93         nautilus        (1.0.2)
94         oaf             (0.6.5)
95         panelmm         (0.1)
96         popt            (1.6)
97         rep-gtk         (0.15)
98         sawfish         (0.38)
99         scrollkeeper    (0.2)
100         xalf            (0.7)
101         
102         
103 ===============================================================================
104 III. Compile time
106 You might want to specify some compiler optimizations in CFLAGS before we
107 start.  At the very least you should do this:
109 export CFLAGS=-O2
110 export CXXFLAGS=$CFLAGS
112 This pretty much sets CFLAGS and CXXFLAGS to what they would have been...
113 minus debugging.  You probably don't really want debugging on all of Gnome
114 (it would make it HUGE!!!)
116 Ok, now let's get busy!  Follow this list of installation instructions to
117 the bottom (i know, it's long) and you'll have a fully functional install of
118 Gnome 1.4 on you LFS system.  :-)
121 ---------------------------------
122 -       audiofile               -
123 ---------------------------------
124 ./configure --prefix=/usr --enable-shared
125 make
126 make install
129 ---------------------------------
130 -       esound                  -
131 ---------------------------------
132 ./configure --prefix=/usr --enable-shared
133 make
134 make install
136 now you might want to edit etc.conf (in esd's sysconfdir, /usr/etc in this
137 case).  the soundcard i have in my box makes a loud *POP* every time i play
138 a sound, so i like to tell esd not to terminate after a few seconds...
141 ---------------------------------
142 -       glib                    -
143 ---------------------------------
144 ./configure --prefix=/usr --enable-shared
145 make
146 make install
149 ---------------------------------
150 -       gtk+                    -
151 ---------------------------------
152 ./configure --prefix=/usr --enable-shared
153 make
154 make install
157 ---------------------------------
158 -       popt                    -
159 ---------------------------------
160 ./configure --prefix=/usr --enable-shared
161 make
162 make install
165 ---------------------------------
166 -       ImageMagick             -
167 ---------------------------------
168 ./configure --prefix=/usr --enable-shared
169 make
170 make install
173 ---------------------------------
174 -       imlib                   -
175 ---------------------------------
176 ./configure --prefix=/usr --enable-shared
177 make
178 make install
181 ---------------------------------
182 -       gtk-engines             -
183 ---------------------------------
184 ./configure --prefix=/usr --enable-shared
185 make
186 make install
189 ---------------------------------
190 -       ORBit                   -
191 ---------------------------------
192 ./configure --prefix=/usr --enable-shared
193 make
194 make install
197 ---------------------------------
198 -       libxml                  -
199 ---------------------------------
200 ./configure --prefix=/usr --enable-shared
201 make
202 make install
205 ---------------------------------
206 -       gnome-libs              -
207 ---------------------------------
208 ./configure --prefix=/usr --enable-shared --enable-prefer-db1
209 make
210 make install
213 ---------------------------------
214 -       scrollkeeper            -
215 ---------------------------------
216 ./configure --prefix=/usr --localstatedir=/var --enable-shared
217 make
218 make install
221 ---------------------------------
222 -       libgtop                 -
223 ---------------------------------
224 ./configure --prefix=/usr --enable-shared
225 make
226 make install
229 ---------------------------------
230 -       libghttp                -
231 ---------------------------------
232 ./configure --prefix=/usr --enable-shared
233 make
234 make install
237 ---------------------------------
238 -       gdk-pixbuf              -
239 ---------------------------------
240 ./configure --prefix=/usr --enable-shared
241 make
242 make install
245 ---------------------------------
246 -       libglade                -
247 ---------------------------------
248 ./configure --prefix=/usr --enable-shared
249 make
250 make install
253 ---------------------------------
254 -       oaf                     -
255 ---------------------------------
256 ./configure --prefix=/usr --enable-shared
257 make
258 make install
261 ---------------------------------
262 -       gnome-print             -
263 ---------------------------------
264 ./configure --prefix=/usr --enable-shared
265 make
266 make install
269 ---------------------------------
270 -       bonobo                  -
271 ---------------------------------
272 ./configure --prefix=/usr --enable-shared
273 make
274 make install
277 ---------------------------------
278 -       GConf                   -
279 ---------------------------------
280 ./configure --prefix=/usr --enable-shared
281 make
282 make install
285 ---------------------------------
286 -       libgda                  -
287 ---------------------------------
288 ./configure --prefix=/usr --enable-shared
289 make
290 make install
293 ---------------------------------
294 -       gnome-db                -
295 ---------------------------------
296 ./configure --prefix=/usr --enable-shared
297 make
298 make install
301 ---------------------------------
302 -       gnome-vfs               -
303 ---------------------------------
304 ./configure --prefix=/usr --enable-shared
305 make
306 make install
309 ---------------------------------
310 -       libunicode              -
311 ---------------------------------
312 ./configure --prefix=/usr --enable-shared
313 make
314 make install
317 ---------------------------------
318 -       gal                     -
319 ---------------------------------
320 ./configure --prefix=/usr --enable-shared
321 make
322 make install
325 ---------------------------------
326 -       control-center          -
327 ---------------------------------
328 ./configure --prefix=/usr --enable-shared
329 make
330 make install
333 ---------------------------------
334 -       gtkhtml                 -
335 ---------------------------------
336 ./configure --prefix=/usr --enable-shared
337 make
338 make install
341 ---------------------------------
342 -       gnome-core              -
343 ---------------------------------
344 ./configure --prefix=/usr --enable-shared
345 make
346 make install
349 ---------------------------------
350 -       gnome-applets           -
351 ---------------------------------
352 ./configure --prefix=/usr --enable-shared
353 make
354 make install
357 ---------------------------------
358 -       bug-buddy               -
359 ---------------------------------
360 ./configure --prefix=/usr --enable-shared
361 make
362 make install
365 ---------------------------------
366 -       libsigc++               -
367 ---------------------------------
368 ./configure --prefix=/usr --enable-shared
369 make
370 make install
373 ---------------------------------
374 -       gtkmm                   -
375 ---------------------------------
376 ./configure --prefix=/usr --enable-shared
377 make
378 make install
381 ---------------------------------
382 -       gnomemm                 -
383 ---------------------------------
384 ./configure --prefix=/usr --enable-shared
385 make
386 make install
389 ---------------------------------
390 -       panelmm                 -
391 ---------------------------------
392 ./configure --prefix=/usr --enable-shared
393 make
394 make install
397 --------------------------------
398 -       glade                  -
399 --------------------------------
400 ./configure --prefix=/usr --enable-shared --with-bonobo
401 make
402 make install
405 ---------------------------------
406 -       rep-gtk                 -
407 ---------------------------------
408 ./configure --prefix=/usr --enable-shared
409 make
410 make install
413 ---------------------------------
414 -       gnome-python            -
415 ---------------------------------
416 ./configure --prefix=/usr --enable-shared
417 make
418 make install
421 ---------------------------------
422 -       gnome-guile             -
423 ---------------------------------
424 ./configure --prefix=/usr --enable-shared
425 make
426 make install
429 ---------------------------------
430 -       gnome-user-docs         -
431 ---------------------------------
432 ./configure --prefix=/usr --enable-shared
433 make
434 make install
437 ---------------------------------
438 -       gnome-utils             -
439 ---------------------------------
440 ran into some problems on this one...
441 although it's not listed in the dependencies, the compilation process tries
442 to use db2html.  if you don't have that in your path, it bails.
443 unfortunately, i couldn't figure out where to get it, but, i found a
444 workaround.  untar the nautilus sources.  go into
445 foo/nautilus-1.0.1.1/components/help/converters/gnome-db2html2/ and read the
446 README.  execute the gcc line displayed in there.  it should make
447 gnome-db2html2 in that directory.  copy that to /usr/local/bin and then link
448 it to /usr/local/bin/db2html.
449 now it should compile just fine.  i'm not sure how "correct" this is... but
450 it did seem to work.  however, since that's really not "db2html", keep track
451 of that binary... if you install db2html later on, go remove that symlink
452 (and the copied binary).
454 if anyone knows where i was supposed to get the "real" db2html, please let
455 me know.  ;-)
457 ./configure --prefix=/usr --enable-shared --with-messages=/var/log/sys.log
458 make
459 make install
462 ---------------------------------
463 -       gnome-pim               -
464 ---------------------------------
465 ./configure --prefix=/usr --enable-shared
466 make
467 make install
470 ---------------------------------
471 -       gnome-media             -
472 ---------------------------------
473 ./configure --prefix=/usr --enable-shared
474 make
475 make install
478 ---------------------------------
479 -       gnome-audio             -
480 ---------------------------------
481 this one doesn't have a configure script... take a look at the Makefile if
482 you don't trust it.  it should be fine though, as it get all it's info from
483 gnome-config
485 make
486 make install
489 ---------------------------------
490 -       gnome-games             -
491 ---------------------------------
492 ./configure --prefix=/usr --enable-shared
493 make
494 make install
497 ---------------------------------
498 -       gtop                    -
499 ---------------------------------
500 ./configure --prefix=/usr --enable-shared
501 make
502 make install
505 ---------------------------------
506 -       ggv                     -
507 ---------------------------------
508 ./configure --prefix=/usr --enable-shared
509 make
510 make install
513 ---------------------------------
514 -       ghex                    -
515 ---------------------------------
516 ./configure --prefix=/usr --enable-shared
517 make
518 make install
521 ---------------------------------
522 -       gdm                     -
523 ---------------------------------
524 ./configure --prefix=/usr --enable-shared
525 make
526 make install
529 ---------------------------------
530 -       sawfish                 -
531 ---------------------------------
532 ./configure --prefix=/usr --enable-shared
533 make
534 make install
537 ---------------------------------
538 -       xalf                    -
539 ---------------------------------
540 ./configure --prefix=/usr --enable-shared
541 make
542 make install
545 ---------------------------------
546 -       mozilla                 -
547 ---------------------------------
548 For source code and extra help, go to www.mozilla.org
549 Ok, here's the deal.  In order to make Nautilus and Mozilla play nice, we
550 have to compile them a certain way.  If you do something wrong, Nautilus
551 will not be able to use Mozilla at all.  Compiling this takes a bit of time,
552 so I recommend starting the compilation right before bed and just letting it
553 compile all night.  Here we go...
555 put this in foo/mozilla/.mozconfig
557 # ...mozilla/.mozconfig
559 # See www.mozilla.org/build/unix.html for build instructions
561 ac_add_options --disable-tests
562 ac_add_options --disable-debug
563 ac_add_options --enable-strip-libs
564 ac_add_options --enable-cpp-rtti
565 ac_add_options --enable-optimize
567 # done with .mozconfig
569 Now, build it like this:
571 make -f client.mk build BUILD_MODULES=psm
572 make -f client.mk build
575 ---------------------------------
576 -       ammonite                -
577 ---------------------------------
578 this package is only required if you --enable-eazel-services on Nautilus.
579 it requires openSSL >= 0.9.5a
581 ./configure --prefix=/usr --enable-shared
582 make
583 make install
586 ---------------------------------
587 -       freetype                -
588 ---------------------------------
589 make setup CFG="--prefix=/usr"
590 make
591 make install
594 ---------------------------------
595 -       nautilus                -
596 ---------------------------------
597 you have to fill in <mozilla_lib> and <mozilla_inc> with the full path to
598 wherever you installed mozilla.  my sources are in /scrap/mozilla so 
599 <mozilla_lib> on my box is /scrap/mozilla/dist/bin and <mozilla_inc> is
600 /scrap/mozilla/dist/include
602 ./configure --prefix=/usr --enable-eazel-services \
603 --with-mozilla-lib-place=<mozilla_lib> \
604 --with-mozilla-include-place=<mozilla_inc>
605 make
606 make install
609 ===============================================================================
610 IV.  Epilougue
612 Now that everything is installed, you just have to edit your .xinitrc to
613 start gnome instead of whatever it's starting right now.  
615 If ~/.xinitrc doesn't exist, there should be a default one where you 
616 installed XFree86.  On my box, the file is in /etc/X11/xinit/xinitrc.  Copy 
617 that default file to ~/.xinitrc.  Comment out all the lines under the
618 "start some nice programs" comment, and add "exec gnome-session".
619 Now just startx.
621 Ah, Gnome 1.4 goodness.  :-)
622 Now you have a clean install of Gnome 1.4 on your system.  Next on your list
623 of chores will be to install some of the Gnome Fifth Toe 1.4 apps.  These
624 apps include things like gnumeric, gnucash, abiword, balsa, dia, galeon, gtm,
625 gimp, and glimmer among others.  I would include instructions for building
626 all of Gnome Fifth Toe 1.4 in here as well, but I don't think it's needed.
627 If you can install Gnome, Mozilla, and Nautilus from scratch, compiling the
628 fifth toe apps should be a walk in the park!
629 Good luck and enjoy Gnome!