*** Building the Evolution Brutus Connector *** Copyright (C) 2005-2007 OMC Denmark ApS Your rights =========== Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. How to build and install the Evolution Brutus Connector ======================================================= The easy way ============ Normally you would only need to do this: ./autogen.sh --prefix=/usr make make install (as root) The hard way ============ This is how to build evolution-brutus and all of its dependencies. I'm assuming that you want to build different versions than what are already installed in your system. Your first task is to ensure that you are working on a system with the required software development packages installed. This guide is written on the assumption that you want to compile the evolution-brutus build and run prerequisites from Gnome Subversion and that your shell is Bash. Everything will be build from SVN and installed into "$HOME/opt". $HOME is assumed to be "/home/$USER". Please adjust according to your own environment if needed. The following are step-by-step instructions to build the evolution-brutus requirements and evolution-brutus from source. Please refer to: http://www.go-evolution.org/Compiling_Evolution_from_CVS or http://www.go-evolution.org/Compiling_Evolution_from_SVN for more or less up-to-date documentation for building Evolution. Reporting problems ================== You can always help by reporting problems to <bugs@42tools.com> or preferably to the 42tools bugzilla: <http://bugzilla.42tools.net/> or by subscribing to the brutus mailing list and posting your problem to the list: <http://www.42tools.com/mailman/listinfo/brutus/> evolution-brutus, if build with debugging support, will generate a nice log that you are encouraged to attach to your problem report. To tell evolution-brutus to generate the log just create a file named ".brutus-do-debug" in your home directory. It doesn't need to be a regular file. It could be a directory or a link. All log output will be appended to "~/.brutus-logd/brutus.log" by the Brutus Log daemon. Please append this file to all bug reports and describe how to reproduce the problem if possible. You can tell the log daemon to restart itself and start all over with an empty log file. Just send SIGUSR2 to the log daemon: $ kill -s USR2 $(cat ~/.brutus-logd/brutus-logd.pid) But first you will have to build the source. Please read the remaining sections on how to do just that. ========================================================================= = = = Build Instructions = = = ========================================================================= Bash environment ================ * Fix ~/.bashrc: # Gnome WANT_AUTOCONF="2.5" export WANT_AUTOCONF PKG_CONFIG_PATH=/home/$USER/opt/lib/pkgconfig/ export PKG_CONFIG_PATH ACLOCAL_FLAGS="-I /home/$USER/opt/share/aclocal" export ACLOCAL_FLAGS BONOBO_ACTIVATION_PATH=/home/$USER/opt/lib/bonobo/servers export BONOBO_ACTIVATION_PATH CVS_RSH=ssh export CVS_RSH LIBDIR="/home/$USER/opt/lib" export LIBDIR # Here you must insert the correct Evolution version number such as "2.12" EVOLIBS="/home/$USER/opt/lib/evolution/<EVOLUTION VERSION>/plugins" export EVOLIBS LD_LIBRARY_PATH="$EVOLIBS:$LIBDIR:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH LD_RUN_PATH="$EVOLIBS:$LIBDIR:$LD_RUN_PATH" export LD_RUN_PATH PATH=/home/$USER/opt/bin:$PATH export PATH # Insane amounts of debug information ORBIT2_DEBUG=all export ORBIT2_DEBUG BRUTUS_DEBUG=yes export BRUTUS_DEBUG CAMEL_DEBUG=all export CAMEL_DEBUG SRC_DIR="/home/$USER/work/src/evolution-brutus" export SRC_DIR Get the source code =================== * Check out from SVN: svn co http://svn.42tools.com/repos/brutus-keyring/trunk brutus-keyring svn co http://svn.42tools.com/repos/evolution-brutus/trunk evolution-brutus svn co http://svn.gnome.org/svn/gnome-common/trunk gnome-common svn co http://svn.gnome.org/svn/libIDL/trunk libIDL svn co http://svn.gnome.org/svn/ORBit2/trunk ORBit2 svn co http://svn.gnome.org/svn/evolution/trunk evolution svn co http://svn.gnome.org/svn/evolution-data-server/trunk evolution-data-server svn co http://svn.gnome.org/svn/gtkhtml/trunk gtkhtml svn co http://svn.gnome.org/svn/libsoup/trunk libsoup and optionally: svn co http://svn.gnome.org/svn/evolution-exchange/trunk evolution-exchange Compile and install the prerequisites ===================================== * Install gnome-common: unset PKG_CONFIG_PATH unset ACLOCAL_FLAGS cd gnome-common ./autogen.sh --prefix=/home/$USER/opt make make install cd .. export PKG_CONFIG_PATH=/home/$USER/opt/lib/pkgconfig/ export ACLOCAL_FLAGS="-I /home/$USER/opt/share/aclocal" * Install libIDL: cd libIDL ./autogen.sh --prefix=/home/$USER/opt make make install cd .. * Install ORBit2: cd ORBit2 ./autogen.sh --prefix=/home/$USER/opt make make install cd .. * Install libsoup: cd libsoup ./autogen.sh --prefix=/home/$USER/opt make make install cd .. * Install gtkhtml: cd gtkhtml ./autogen.sh --prefix=/home/$USER/opt make make install cd .. * Install evolution-data-server (with Exchange enabled for comparison): cd evolution-data-server On Gentoo: CFLAGS="-ggdb -O1" ./autogen.sh --prefix=/home/$USER/opt --with-openldap=yes --with-exchange=yes --enable-nss=yes --with-nspr-includes=/usr/lib/mozilla/include/nspr --with-nspr-libs=/usr/lib/mozilla --with-nss-includes=/usr/lib/mozilla/include/nss --with-nss-libs=/usr/lib/mozilla --enable-gtk-doc On FC5: CFLAGS="-ggdb -O1" ./autogen.sh --prefix=/home/$USER/opt --with-openldap=yes --with-exchange=yes --enable-nss=yes --with-nspr-includes=/usr/includes/nspr4 --enable-gtk-doc make make install cd .. * Install evolution (with Exchange enabled for comparison): cd evolution CFLAGS="-ggdb -O1" ./autogen.sh --prefix=/home/$USER/opt --with-openldap=yes --enable-ipv6=yes --enable-test-component=no --disable-default-binary --without-kde-applnk-path --enable-mono=no --enable-exchange=yes --enable-plugins=base --enable-smime=yes --enable-nss=yes --with-nspr-includes=/usr/lib/mozilla/include/nspr --with-nspr-libs=/usr/lib/mozilla --with-nss-includes=/usr/lib/mozilla/include/nss --with-nss-libs=/usr/lib/mozilla --enable-gtk-doc make make install cd .. * Optionally install evolution-exchange for comparison (Kerberos 5 or Heimdal is a prerequisite): cd evolution-exchange CFLAGS="-g -O0" ./autogen.sh --prefix=/home/$USER/opt make make install cd .. * Install brutus-keyring: cd $SRC_DIR/brutus-keyring ./autogen.sh --prefix=/home/$USER/opt --enable-brutus-devel=yes --enable-brutus-debug=yes make make install cd .. evolution-brutus ================ * Install evolution-brutus: cd $SRC_DIR/evolution-brutus ./autogen.sh --prefix=/home/$USER/opt --enable-brutus-devel=yes --enable-brutus-debug=yes --enable-brutus-spy=no make make install cd ..