Knowledgebase:
Building Evolution-scalix for Mandriva 2009 x86_64 and Evolution 2.24.2-1
Posted by rbTech Staff, Last modified by rbTech Staff on 08 March 2013 11:29 AM
Table of contents

Extract Sourcefiles:
Rename the directory:
Patch your sourcetree:
Run configure:
Run Make:
Set up your account:
Done!

Extract Sourcefiles:

Using tarball from Scalix distribution evolution-scalix-11.4.2.105.tar.gz

All operations done as root.

tar xvzf evolution-scalix-11.4.2.105.tar.gz

Rename the directory:

This step is critical for upcoming patching to work:

mv evolution-scalix-11.4.2.105 evolution-scalix-11.4.2.105.evo-2.24.2

Patch your sourcetree:

You'll need to get the patch file; I've reposted it here, but I got it from this post on the Scalix forums:

http://www.scalix.com/forums/viewtopic.php?p=56173&sid=adaccd5a7dfa28e162fca88798db7c4b

Patch source:

  diff -crB evolution-scalix-11.4.2.105/addressbook/e-book-backend-scalix-factory.c evolution-scalix-11.4.2.evo-2.24.2/addressbook/e-book-backend-scalix-factory.c 
 *** evolution-scalix-11.4.2.105/addressbook/e-book-backend-scalix-factory.c 2008-09-16 23:58:01.000000000 +0200 
 --- evolution-scalix-11.4.2.evo-2.24.2/addressbook/e-book-backend-scalix-factory.c 2009-01-09 11:43:02.000000000 +0100 
 *************** 
 *** 23,29 **** 
   #endif 
    
   #include <glib-object.h> 
 ! #include <libedataserver/e-data-server-module.h> 
   #include <libedata-book/e-book-backend-factory.h> 
    
   #include <libescalix/scalix.h> 
 --- 23,29 ---- 
   #endif 
    
   #include <glib-object.h> 
 ! #include <libedataserver/e-data-server-util.h> 
   #include <libedata-book/e-book-backend-factory.h> 
    
   #include <libescalix/scalix.h> 
diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-journal.h evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-journal.h 
 *** evolution-scalix-11.4.2.105/camel/camel-scalix-journal.h 2008-09-16 23:58:00.000000000 +0200 
 --- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-journal.h 2009-01-09 11:22:31.000000000 +0100 
 *************** 
 *** 30,35 **** 
 --- 30,36 ---- 
    
   #include <camel/camel-offline-journal.h> 
   #include <camel/camel-mime-message.h> 
 + #include <libedataserver/e-msgport.h> 
    
   #ifdef __cplusplus 
   extern "C" { 
 Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-journal.h~ 
diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-summary.c evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-summary.c 
 *** evolution-scalix-11.4.2.105/camel/camel-scalix-summary.c 2008-09-16 23:58:00.000000000 +0200 
 --- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-summary.c 2009-01-09 11:38:08.000000000 +0100 
 *************** 
 *** 890,897 **** 
     /* we already have this message envelope cached - 
      * server is probably notifying us of a FLAGS change 
      * by another client? */ 
 !   g_assert (index < summary->messages->len); 
 !   iinfo = (CamelSCALIXMessageInfo *)(info = summary->messages->pdata[index - 1]); 
     g_assert (info != NULL); 
    } else { 
     if (index > (added->len + fetch->first - 1)) 
 --- 890,897 ---- 
     /* we already have this message envelope cached - 
      * server is probably notifying us of a FLAGS change 
      * by another client? */ 
 !   g_assert (index < summary->uids->len); 
 !   iinfo = (CamelSCALIXMessageInfo *)(info = summary->uids->pdata[index - 1]); 
     g_assert (info != NULL); 
    } else { 
     if (index > (added->len + fetch->first - 1)) 
 Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-summary.c~ 
 diff -crB evolution-scalix-11.4.2.105/camel/camel-scalix-utils.c evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-utils.c 
 *** evolution-scalix-11.4.2.105/camel/camel-scalix-utils.c 2008-09-16 23:58:00.000000000 +0200 
 --- evolution-scalix-11.4.2.evo-2.24.2/camel/camel-scalix-utils.c 2009-01-09 11:38:57.000000000 +0100 
 *************** 
 *** 237,243 **** 
   static int 
   uidset_add (struct _uidset *uidset, CamelMessageInfo *info) 
   { 
 !  GPtrArray *messages = uidset->summary->messages; 
    struct _uidset_range *node, *tail = uidset->tail; 
    const char *iuid = camel_message_info_uid (info); 
    size_t uidlen, len; 
 --- 237,243 ---- 
   static int 
   uidset_add (struct _uidset *uidset, CamelMessageInfo *info) 
   { 
 !  GPtrArray *messages = uidset->summary->uids; 
    struct _uidset_range *node, *tail = uidset->tail; 
    const char *iuid = camel_message_info_uid (info); 
    size_t uidlen, len; 
 Only in evolution-scalix-11.4.2.evo-2.24.2/camel: camel-scalix-utils.c~ 
 diff -crB evolution-scalix-11.4.2.105/configure evolution-scalix-11.4.2.evo-2.24.2/configure 
 *** evolution-scalix-11.4.2.105/configure 2008-09-17 00:37:11.000000000 +0200 
 --- evolution-scalix-11.4.2.evo-2.24.2/configure 2009-01-09 10:46:57.000000000 +0100 
 *************** 
 *** 19833,19838 **** 
 --- 19833,19847 ---- 
    CFLAGS="$CFLAGS -DHANDLE_LIBICAL_MEMORY" 
    ;; 
    
 +  2.24) 
 +  EVOLUTION_API_VERSION=2.24 
 +  EAPI_MAJOR_VERSION=2 
 +  EAPI_MINOR_VERSION=24 
 +  CAMEL_API_VERSION=1.2 
 +  EDS_API_VERSION=1.2 
 +  CFLAGS="$CFLAGS -DHANDLE_LIBICAL_MEMORY" 
 +  ;; 
 +  
   esac

Run configure:

Configure should complete successfully at this point. Make, however is a different story...

./configure

Run Make:

make

You will almost certainly be missing things that will make the build fail, here are a few hints at packates taht you'll need:

mono-devel
evolution-devel
autoconf
automake
gcc
gnome-pilot-devel

Set up your account:

At this point you should be able to launch Evolution, and be presented with the Account Setup Druid. I found that I had to run through it about 4 times before it completed successfully: It got stuck on synchronizing my Calendar, then again on my Contacts. Once that completed, however, Evolution launched and ran reasonably well.

I find that it does crash fairly regularly, which is deeply annoying, but I haven't sleuthed out why yet.

Done!

I hope this is helpful, please feel free to contact us if you get stuck!

(0 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).