Warning: this email is LONG. If you are happy with your current evolution development environment, feel free to disregard. If want a clean packaged install of stable evo, but still work on evo-head, read on.
Problem: Want to check out and work on latest cvs evolution, but need a stable evolution for productivity, and wanted stable evolution and the libraries it depended on to be handled by the package manager. I looked around (maybe in not enough places) and didn't see clear instructions on how to do this. So here we go... Solution: Though it took a lot of work to figure this out initially, I did get this to work, and it does beautifully. Thanks to [EMAIL PROTECTED] for some help in debugging this. The basic idea is to leave everything that is managed by a package manger (ie in /usr) alone, and put all of our needed libraries and applications for evolution CVS HEAD in /opt/gnome (or similar). Assuming your using bash, run (this could and should be scripted!): export GNOME_PATH=/opt/gnome export PATH=$GNOME_PATH/bin:$PATH export LD_LIBRARY_PATH=$GNOME_PATH/lib:$LD_LIBRARY_PATH export CFLAGS="-I$GNOME_PATH/include" export LDFLAGS="-L$GNOME_PATH/lib" export ACLOCAL_FLAGS="-I $GNOME_PATH/share/aclocal" export CVSROOT=':pserver:[EMAIL PROTECTED]:/cvs/gnome' Then, go to http://www.gnome.org/start/installing/index.php3 and get all of the base libraries, core applications, and gnome-print (currently 25 tarballs). You will also need glibwww (from http://download.gnome.org/GNOME/unstable/sources/glibwww/). These will need to be compiled in the order they are listed on the website (with glibwww last). If you have the devel files for these libraries installed via a package manager, it would be a good idea to uninstall them (though may not be required-- but I did it). I will not get into all of the various dependencies that may be involved for compiling these packages. Unless otherwise noted, these libraries can be compiled with: ./configure --prefix=$GNOME_PATH && make && sudo make install Notable exceptions: esound: ./configure --prefix=$GNOME_PATH --disable-alsa if you don't have alsa GConf: on my system, gconf couldn't find db.h, so I did ln -s /usr/include /usr/include/db3 ./configure --prefix=$GNOME_PATH gnome-libs: ./configure --prefix=$GNOME_PATH --with-imlib-prefix=$GNOME_PATH \ --with-esd-prefix=$GNOME_PATH --with-audiofile-prefix=$GNOME_PATH \ --enable-prefer-db1 gnome-core: version 1.4.0.6 has a small bug which prevented compilation on my machine. Copy the attached patch to toplevel_gnome_source_dir/patch.gnome-core_HAVE_PAPER_WIDTH and apply with: cd gnome-core-1.4.0.6 cat ../patch.gnome-core_HAVE_PAPER_WIDTH | patch -p1 glibwww: ./configure --prefix=$GNOME_PATH --with-gnome=$GNOME_PATH Ok, now all of basic gnome is installed. Now we can focus on getting evolution installed. It has 5 additional libraries that need to be installed. GAL: login to cvs with 'cvs login' (make sure CVSROOT was set above). cvs -z3 checkout gal cd gal ./autogen.sh --prefix=/opt/gnome --with-gnome=/opt/gnome \ --with-gtk-prefix=/opt/gnome make make install GTKHTML: cvs -z3 checkout gtkhtml cd gtkhtml ./autogen.sh --prefix=/opt/gnome --with-gnome=/opt/gnome make make install SOUP: checkout soup cd soup ./autogen.sh --prefix=/opt/gnome --with-glib-prefix=/opt/gnome make make install BONOBO: cvs -z3 checkout bonobo cd bonobo ./autogen.sh --prefix=/opt/gnome make install BONOBO-CONF: cvs version didn't work for me, but may at a different time. I got bonobo-conf-0.14 from: http://download.gnome.org/GNOME/unstable/sources/bonobo-conf cd bonobo-conf ./autogen.sh --prefix=/opt/gnome make make install EVO-DB3 ------- Of course, evolution uses db-3.1.17, so we have to play with this. I did: Go to rpmfind.net, and get the evo-db3-3.1.17-ximian.2.src.rpm, then run, as root: rpm -rebuild ./evo-db3* it will fail because of a bad spec file. To fix: cd /usr/src/rpm/SPECS Change in evo-db3.spec to be: build|all) cd "$RPM_BUILD_DIR/db-3.1.17" cd build_unix; ${MAKE} ;; esac This will now build the rpm binary: rpm -ba ./evo-db3.spec rpm -i ../RPMS/evo-db3*.rpm or to convert it to deb: cd /usr/src/rpm/RPMS/i386 alien ./evo-db3*rpm dpkg -i ./evo-db3*.deb EVOLUTION HEAD -------------- cvs -z3 checkout evolution ./autogen.sh --prefix=/opt/gnome --with-db3=/opt/evo-db3 \ --with-gnome=/opt/gnome make make install Everything should be installed now! If you ran into configure problems, after trying to fix them, run 'rm -rf ./config.status ./config.cache' to make sure the changes take affect. You can verify that the apps and libs in $GNOME_PATH are using the proper libraries by using ldd. Do NOT run the evolution head (in /opt/gnome/bin) and the stable evolution at the same time. I also recommend not running them as the same user since evolution head may (will?) break your stable evolution configuration. You must use the above export statements to run evolution head as well. I put them in a .bashrc for a different user and have that user use gnome from $GNOME_PATH. Once it is all up and running, you can use lsof and ps to verify that the right apps and libraries are being pulled in. Caveats: - a bit of a pain to setup initially - about 133MB hard drive space for all of the above - I can't guarantee that it will work for you, or at any time in the future, but as of today, it works great. ;-) >From what I have seen, CVS evolution is really cool and worth a look. This provides a way to check it out without breaking your system, and hopefully more of us (including me!) can help contribute to this great application. Jamie Strandboge -- Email: [EMAIL PROTECTED] GPG/PGP ID: 26384A3A Fingerprint: D9FF DF4A 2D46 A353 A289 E8F5 AA75 DCBE 2638 4A3A
--- gnome-core-1.4.0.6-old/panel/gnome-panel-screenshot.c Thu Apr 18 07:25:40 2002 +++ gnome-core-1.4.0.6/panel/gnome-panel-screenshot.c Tue Apr 16 16:48:10 2002 @@ -49,11 +49,11 @@ #include <X11/Xmu/WinUtil.h> #include <libart_lgpl/art_rgb_affine.h> -#ifdef HAVE_PAPER_WIDTH +/* #ifdef HAVE_PAPER_WIDTH */ #include <stdio.h> #include <locale.h> #include <langinfo.h> -#endif +/* #endif */ /* How far down the window tree will we search when looking for top-level * windows? Some window managers doubly-reparent the client, so account
signature.asc
Description: This is a digitally signed message part