Difference between revisions of "HowTos/Building Evolution Connector"

From Scalix Wiki
Jump to: navigation, search
(gnome-common)
m (added naviagtion to top of page)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Scalix Wiki]] -> [[How-Tos]] -> '''Building Evolution Connector'''
 +
 
==Building Scalix Connector for Evolution from Source==
 
==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 5 and Evolution 2.6 but should apply with minor modifications to other distributions as well.
+
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==
 
==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 http://subversion.tigris.org/project_packages.html]
  
===Update your Fedora installation===
+
===Evolution Development Packages===
  
If you did a Fedora install from CD it is a good idea to fully update your installation. The easiest way to do this is using yum:
+
You need the '''gnome-common''', '''evolution-devel''', '''evolution-data-server-devel''' and '''intltool''' packages.
yum update
+
This can take a while depending on how current your install was.
+
  
===Evolution Development 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
  
You need the '''evolution-devel''' and '''evolution-data-server-devel''' packages. Install those using yum:
+
On older Redhat or Fedora systems, "up2date" is the equivalent tool :
  yum install evolution-devel evolution-data-server-devel
+
  /usr/bin/up2date -i gnome-common evolution-devel evolution-data-server-devel intltool
  
===gnome-common===
+
For Debian based systems like Xandros and Ubuntu (note slightly different naming) :
 +
  apt-get install evolution-dev evolution-data-server-dev gnome-common intltool
  
Check out the gnome-common module from CVS and build it.
+
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
  
Gnome.org has changed to SVN, so type:
+
To build and install gnome-common, change to the gnome-common directory and call the autogen script:
svn co http://svn.gnome.org/svn/gnome-common/trunk gnome-common
+
Change to the gnome-common directory and call the autogen script:
+
 
  cd gnome-common; ./autogen.sh --prefix=/usr
 
  cd gnome-common; ./autogen.sh --prefix=/usr
 
After that install the macros:
 
After that install the macros:
Line 28: Line 36:
 
==Checking out and building Scalix Connector for Evolution==
 
==Checking out and building Scalix Connector for Evolution==
  
Go back up one directory to the place from where you checked out the gnome-common module.
+
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
  
Check out the '''evolution-scalix''' module:
+
NOTEThe trunk contains alpha code for support of Fedora 7 with Evolution 2.10 and also Evolution 2.12 support.
  cvs co evolution-scalix
+
  
 
Now call autogen.sh, which will create all the necessary makefiles for your system.
 
Now call autogen.sh, which will create all the necessary makefiles for your system.
Line 40: Line 48:
 
  cd evolution-scalix ; ./autogen.sh --prefix=/usr --with-libdb=/usr --disable-more-warnings
 
  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.'''
 
'''IMPORTANT: the prefix value must be the same as the one you provided when calling autogen for gnome-common.'''
Line 65: Line 76:
 
Now use rpmbuild to create the RPM:
 
Now use rpmbuild to create the RPM:
 
  sudo rpmbuild -tb evolution-scalix-<version>.tar.gz
 
  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==
 
==Related Links==
 
*[http://scalix.com/community/viewforum.php?f=10 Scalix Forum]
 
*[http://scalix.com/community/viewforum.php?f=10 Scalix Forum]
*[http://developer.gnome.org/tools/cvs.html Gnome CVS instructions]
+
*[http://developer.gnome.org/tools/svn.html Gnome SVN instructions]

Latest revision as of 12:58, 14 October 2010

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