Re: [Evolution] Building Evolution



On Fri, 2010-04-30 at 02:31 +0200, Thomas Mittelstaedt wrote:
Am Donnerstag, den 29.04.2010, 10:03 -0400 schrieb Reid Thompson:
On Thu, Apr 29, 2010 at 09:29:40AM -0430, Patrick O'Callaghan wrote:
On Thu, 2010-04-29 at 07:52 -0400, Matthew Barnes wrote:
Paul Smith wrote up a custom Makefile to automate most of the process
of building Evolution from git.  See
http://mad-scientist.us/evolution.html

Note that Paul's Makefile is for Ubuntu. Presumably other Debian-like
systems could use it without too much effort. If anyone feels like doing
a version for Fedora (or rpm-based systems in general) I'm sure they
would earn the plaudits of a grateful community :-)

poc

The makefile will work for other distros.  I use it with gentoo.


I started with the above makefile, too. But recently I follow just
a simple pattern.
Do an autogen for gtkhtml, evolution-data-server, evolution and
some other modules like exchange, which you might need and do
a make install, like this:

cd obj/evolution ## Create separate directories for obj files beforehand

#! /bin/bash

PKG_CONFIG_PATH=/opt/evo/lib/pkgconfig/  CC='ccache gcc' CFLAGS=-g
'../../evolution/autogen.sh' --prefix='/opt/evo'

PKG_CONFIG_PATH=/opt/evo/lib/pkgconfig/ make install

Err... OK, but that's pretty much exactly what the makefile does.
Except it adds in dependencies and rules to update from source, and it
adds features people want (such as the exchange-mapi backend, and hence
the openchange source code).

Also, that's not always sufficient.  For example Evo depends on a newer
version of libxml2 than ships with older versions of Linux; the current
master GIT version of Evo won't compile with the version of glib found
in Karmic currently, etc.

Also you need to be careful when you run evolution: if you build Evo and
install it somewhere other than the standard locations you must have
various environment variables set in order for it to work properly.  For
example, you can compile gtkhtml and install it into /opt/evo and get
Evo to link against it at build time with the above operations, but if
you don't set LD_LIBRARY_PATH then it's going to choose the system
version of that library at runtime.  The makefile creates a shell script
wrapper for Evo that tries to set all this up.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]