HowTos/Building Evolution Connector

From Scalix Wiki
Jump to: navigation, search

Scalix Wiki -> How-Tos -> Building Evolution Connector

Building Scalix Connector for Evolution from Source

This how-to describes how to build the Scalix Connector for Evolution from source. It assumes that you have working knowledge of Linux and the build tools. These instructions are for Fedora Core 6 and Evolution 2.8 but should apply with minor modifications to other distributions as well.

Prerequisites

Subversion

If you don't have subversion on your system already, then install it. You should be able to do this using your system's package installation and updating system (yum/up2date/yast2/apt-get ...) but if not you may find packages at http://subversion.tigris.org/project_packages.html

Evolution Development Packages

You need the gnome-common, evolution-devel, evolution-data-server-devel and intltool packages.

Most Linux distributions supply these packages and you can use the appropriate tools for your distribution to install or update them. For instance, on RHEL5 and recent Fedora systems, you can install them using yum :

/usr/bin/yum install gnome-common evolution-devel evolution-data-server-devel intltool

On older Redhat or Fedora systems, "up2date" is the equivalent tool :

/usr/bin/up2date -i gnome-common evolution-devel evolution-data-server-devel intltool

For Debian based systems like Xandros and Ubuntu (note slightly different naming) :

 apt-get install evolution-dev evolution-data-server-dev gnome-common intltool

If you can't find the packages for your system, you could obtain them from gnome's Subversion repository, for example, to get "gnome-common" do :

 svn co http://svn.gnome.org/svn/gnome-common/trunk gnome-common

To build and install gnome-common, change to the gnome-common directory and call the autogen script:

cd gnome-common; ./autogen.sh --prefix=/usr

After that install the macros:

sudo make install

Checking out and building Scalix Connector for Evolution

Check out the SCALIX branch of the evolution-scalix module (Note that the trunk may contain experimental code) :

svn co http://svn.gnome.org/svn/evolution-scalix/branches/SCALIX evolution-scalix

NOTE: The trunk contains alpha code for support of Fedora 7 with Evolution 2.10 and also Evolution 2.12 support.

Now call autogen.sh, which will create all the necessary makefiles for your system.

cd evolution-scalix ; ./autogen.sh --prefix=/usr

NOTE: In some cases, you may need to disable warnings: (the following was used to make it compile on a Debian system)

cd evolution-scalix ; ./autogen.sh --prefix=/usr --with-libdb=/usr --disable-more-warnings

NOTE: In order to compile on Fedora Core 9, also add a compiler flag:

cd evolution-scalix ; ./autogen.sh --prefix=/usr --with-libdb=/usr --disable-more-warnings CPPFLAGS=-I/usr/include/gnome-vfs-2.0

IMPORTANT: the prefix value must be the same as the one you provided when calling autogen for gnome-common.

If everything goes well you will see a summary, listing install paths and other information. When you see that summary, everything is well and you can continue with building the connector:

make
Note: On SuSE 10.1 I had to modify evolution-scalix/addressbook/create-account.c,   line 77 to include an additional parameter:
Orig: gnome_program_init (PACKAGE, VERSION, LIBGNOME_MODULE, argc, argv, NULL);
New:  gnome_program_init (PACKAGE, VERSION, LIBGNOME_MODULE, argc, argv, NULL, NULL);

Once make finishes all that is left is installing the connector:

sudo make install

You now have the connector installed. Start Evolution and create a new account profile. Scalix should appear in the list of account types.

Creating your own RPM

If you want to create your own RPM, follow these steps:

First create a tarball from the source code:

make dist

This creates a evolution-scalix-<version>.tar.gz tarball in the current directory.

Now use rpmbuild to create the RPM:

sudo rpmbuild -tb evolution-scalix-<version>.tar.gz

Problem diagnosis

If logging in with Evolution fails. Try running it from the command line. If you see the error message "Couldn't Get password 2" somewhere in the output, this implies that you need to rebuild the evolution-data-server. For consistency, best to use the source package that comes with your distribution but use "--enable-gnome-keyring=no" when rebuilding. This problem affects some SuSE systems.

Related Links