First, we have to configure Evolution, again making sure we point to the pilot-link in /usr/local, and respecting that GNOME itself may be installed in another location on your system, in most cases /usr, but you can find out by using 'glib-config --prefix' (single quotes this time).
# Change to the Evolution directory and configure evolution hacker:~/build/gnome-pilot-conduits-0.10$ cd ../evolution-1.4.5 hacker:~/build/evolution-1.4.5$./configure --prefix=`glib-config --prefix` \ # backticks around glib-config, NOT single-quotes \ --with-pisock=/usr/local \ --enable-pilot-conduits=yes \ --enable-pilotlinktest --enable-gtk-doc \ --enable-openssl --with-db3=/usr/local \ --with-catgets \
Evolution has a LOT of dependancies, so you'll need to make sure you have all of them installed and configured in the right places. Here are some common errors and how to get past them:
checking for flex... no checking for lex... no checking for yywrap in -lfl... no checking for yywrap in -ll... no checking for bison... no checking for byacc... no configure: error: You need bison to build Evolution
Solution: Install the 'flex' and 'bison' packages for your distribution and re-run configure again with the same parameters as before.
checking for db3 compiler flags... -I/usr/local/include checking db.h usability... yes checking db.h presence... yes checking for db.h... yes checking db3 header version... configure: error: Found db.h is not version 3.1.17
Solution: Install the 'db3' version 3.1.17 package from SleepyCat Software. To do this, download the version from the link provided and compile it as follows:
hacker@druid:~/build$ tar zxvf db-3.1.17.tar.gz hacker@druid:~/build$ cd db-3.1.17/build_unix hacker@druid:~/build/db-3.1.17/build_unix$ ../dist/configure --prefix=/usr/local hacker@druid:~/build/db-3.1.17/build_unix$ make
'su - root' as before, and install. It should then put the proper libraries into '/usr/local'.
After successfully buildng db3 and installing db3 into '/usr/local', re-run 'configure' for Evolution again with the same parameters as before, and it should now report the following:
checking for db3 compiler flags... -I/usr/local/include checking db.h usability... yes checking db.h presence... yes checking for db.h... yes checking db3 header version... 3.1.17 checking for db3 library name... /usr/local/lib/libdb.a checking that db3 library version matches header version... yes
You'll notice above that I have the '--with-db3' pointed to '/usr/local' as well. My Debian system had db3 installed, but it is a later version, so I had to install a previous version, as Evolution requires an older version currently.
Now configure should proceed further, but may halt again with the following error:
checking for libgtkhtml-3.0... Package libgtkhtml-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `libgtkhtml-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'libgtkhtml-3.0' found
Solution: Install the required libgtkhtml development packages for your system. These may be named 'libgtkhtml3.0-dev' or 'gtkhtml-dev', depending on your distribution. You want the package that contains the file called 'libgtkhtml-3.0.pc'. After locating and installing the required package and re-running configure for evolution again, you should see the following:
checking for libgtkhtml-3.0... yes
The next error in line will likely be with 'libsoup'. As before, locate and install the 'libsoup' and 'libsoup-devel' pacakges for your system. The error will resemble the following:
checking for gthread-2.0 gconf-2.0 libxml-2.0 libbonoboui-2.0 libglade-2.0 gal-2.0 >= 1.99.8 libgnomeui-2.0 libgnome-2.0 libgnomecanvas-2.0 soup-2.0 ... Package soup-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `soup-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'soup-2.0' found
After installing 'libsoup' and 'libsoup-devel' (or whatever packages contain the 'soup-2.0.pc' file), the configuration script should continue further with this successful message:
Also, later on in the config, you should see the following successful tests:
checking if pilot-link handles UTF-8 conversions... yes checking for gnome-pilot-2.0 ... yes
One common mistake is not pointing to the right pilot-link build (note the '--with-pisock' path in the above configure command), which will cause the following error to occur:
checking for pi-version.h... yes checking for pi_accept in -lpisock... yes ./configure: line 11499: -lpisync: command not found checking for pilot-link version >= 0.11.4... yes (found 0.9.4/*something*/) checking if pilot-link handles UTF-8 conversions... no configure: error: evolution requires pilot-link to have working UTF-8 conversion routines
If you get this error, there are two ways around it:
Make sure you are pointing to the right pilot-link, which we built using the '--with-libiconv' argument earlier.
Add some values to the LDFLAGS environment so that we can force it at configure time as follows:
# This is all one line, using \ here to continue it and wrap across # multiple lines, but all of this must be run on one line LDFLAGS="-L/usr/local/lib -lpisync" \ ./configure --prefix=`glib-config --prefix` \ # backticks around glib-config, NOT single-quotes \ --with-pisock=/usr/local \ --enable-pilot-conduits=yes \ --enable-pilotlinktest --enable-gtk-doc \ --enable-openssl --with-db3=/usr/local \ --with-catgets \
Successful configuration should terminate with the following:
Evolution has been configured as follows: Mail Directory: /var/spool/mail, world writable LDAP support: no Pilot conduits: yes Kerberos 4/5: no/no SSL support: no IPv6 support: no Dot Locking: yes File Locking: fcntl Gtk-doc: yes Programming documentation files will be built automatically.
If you see that 'SSL support' returns 'no', you must install the proper openssl headers and libraries for your distribution. It might have slipped past in configure too quick, but you probably passed the warnings that looked like the following:
checking for OpenSSL includes... "" checking openssl/ssl.h usability... no checking openssl/ssl.h presence... no checking for openssl/ssl.h... no checking openssl/x509.h usability... no checking openssl/x509.h presence... no checking for openssl/x509.h... no checking for dlopen in -ldl... yes checking for OpenSSL libraries... no
On Debian, these are in the 'openssl' and 'libssl-dev' packages. Other distributions may have different package names. If you get them installed properly, you should now see the following:
Evolution has been configured as follows: Mail Directory: /var/mail, writable by group mail LDAP support: no Pilot conduits: yes Kerberos 4/5: no/no SSL support: yes (OpenSSL) IPv6 support: no Dot Locking: yes File Locking: fcntl Gtk-doc: yes Programming documentation files will be built automatically.
If you get this far, after satisfying all of the other dependancies, you can proceed onto typing 'make' to build Evolution.
Note, this will take quite a long time, so sit back watch television, answer some email, make a few cups of coffee..