Adding MS exchange compability with evolution-ews in ubuntu 12.04



Ubuntu 12.04 has crappy support for bussiness solutions.
You can check MS exchange mail, synchronize calendar in evolution with evolution-ews which is missing in default repository. Exchange has to have owa enabled.

Also default client on Ubuntu precise is thunderbird, which doesn’t have ability to use system provided calendar.
How silly is that?

Didn’t want to add external repositories, as it updates lots of packaged in system, and crappy apt-get doesn’t do its job to keep only one version!!! I needed only one small plugin, so why should I touch all default system, which suppose to be “stable”?

Or You can search on internet for reliable repository, try search for all needed packets and include only them, but keep in mind, that newer evolution might require newer libraries, and Your system – older, so You may need to update lots of stuff.

Don’t forget, that when You update evolution to newer version, You may need to recompile new evolution-ews plugin manually.

So here is tutorial how to add exchange support to ubuntu without external repositories, and with evolution client version, which is in default ubuntu repository.


EDIT: Made script, that makes all those steps automatically, You can download it from this post: evolution-ews plugin install script for evolution 3.2.3 on ubuntu 12.04


Firstly, need to install all needed packages:

$ sudo apt-get install evolution libc6-dev-i386 evolution-data-server-dev pkg-config intltool gtk-3.0 gconf-2.0 libgconf2-dev libedataserver1.2-dev libedataserverui-3.0-dev libebackend1.2-dev libecal1.2-dev libedata-cal1.2-dev libedata-book1.2-dev evolution-dev libtool liblogthread-dev gtk-doc-tools

Now download somewhere evolution-ews packet from site:
http://projects.gnome.org/evolution/previous.shtml

Choose version by Your evolution on ubuntu:
mine is 3.2.3:

$ evolution -v
evolution 3.2.3

So I downloaded this one: evolution-ews 2.3.2

extract it and go inside:

$ tar -xvf evolution-ews-3.2.3.tar.xz
$ cd evolution-ews-3.2.3

because of some bugs in ubuntu libraries, You have to edit configure.ac file and add line “AC_CHECK_LIB(gthread-2.0, g_thread_init)” somewhere at the beggining of file, for example (mine is 6th line) after “AC_CONFIG_HEADERS(config.h)”.

Example:

1
2
3
4
5
6
7
AC_PREREQ(2.58)
AC_INIT([evolution-ews], [3.2.3], [http://bugzilla.gnome.org/browse.cgi?product=evolution-ews])
AM_INIT_AUTOMAKE([gnu 1.9 dist-xz no-dist-gzip])
AC_CONFIG_SRCDIR(README)
AC_CONFIG_HEADERS(config.h)
AC_CHECK_LIB(gthread-2.0, g_thread_init)
...

Then, find in file this part:

70
71
72
73
74
75
76
77
78
79
80
81
82
AS_COMPILER_FLAGS(WARNING_FLAGS,
        "-DGSEAL_ENABLE
        -Wall -Wextra
        -Wno-missing-field-initializers
        -Wno-sign-compare
        -Wno-unused-parameter
        -Wdeclaration-after-statement
        -Wno-unused-but-set-variable
        -Werror-implicit-function-declaration
        -Wformat-nonliteral -Wformat-security -Winit-self
        -Wmissing-declarations -Wmissing-include-dirs
        -Wmissing-noreturn -Wnested-externs -Wpointer-arith
        -Wundef -Wwrite-strings -Werror")

and add parameters: -Wno-error=deprecated-declarations after -DGSEAL_ENABLE.

My example:

70
71
72
73
74
75
76
77
78
79
80
81
82
83
AS_COMPILER_FLAGS(WARNING_FLAGS,
        "-DGSEAL_ENABLE
        -Wno-error=deprecated-declarations
        -Wall -Wextra 
        -Wno-missing-field-initializers
        -Wno-sign-compare
        -Wno-unused-parameter
        -Wdeclaration-after-statement
        -Wno-unused-but-set-variable
        -Werror-implicit-function-declaration
        -Wformat-nonliteral -Wformat-security -Winit-self
        -Wmissing-declarations -Wmissing-include-dirs
        -Wmissing-noreturn -Wnested-externs -Wpointer-arith
        -Wundef -Wwrite-strings -Werror")

Then four commands are left:

$ autoreconf
$ ./configure
$ make
$ sudo make install

And You are DONE!!!
When adding account choose Exchange Web Services (EWS).
evolution-ews plugin

You may notice, that there is also Microsoft Exchange. It’s plugin from default repository called evolution-exchange, but it works only with 2000 and 2003 exchanges. So it’s pretty old, and not working with new ones.

If something goes wrong or doesn’t work, feel free to add comments. They are reviewed pretty often, so maybe we would find solution.



Saved lots of time?
Say thanks:

Tagged , , , ,

6 thoughts on “Adding MS exchange compability with evolution-ews in ubuntu 12.04

  1. Srinivasan says:

    Gee!! Thanks.. However after making changes when I ran autoreconf I got following error

    Can’t exec “libtoolize”: No such file or directory at /usr/bin/autoreconf line 196.
    Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 196.
    configure.ac:112: warning: macro `AM_DISABLE_STATIC’ not found in library
    src/account-setup-eplugin/Makefile.am:10: `%’-style pattern rules are a GNU make extension
    src/account-setup-eplugin/Makefile.am:16: `%’-style pattern rules are a GNU make extension
    src/account-setup-eplugin/Makefile.am:19: `%’-style pattern rules are a GNU make extension
    src/account-setup-eplugin/Makefile.am:26: Libtool library used but `LIBTOOL’ is undefined
    src/account-setup-eplugin/Makefile.am:26: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/account-setup-eplugin/Makefile.am:26: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/account-setup-eplugin/Makefile.am:26: If `LT_INIT’ is in `configure.ac’, make sure
    src/account-setup-eplugin/Makefile.am:26: its definition is in aclocal’s search path.
    src/addressbook/Makefile.am:3: Libtool library used but `LIBTOOL’ is undefined
    src/addressbook/Makefile.am:3: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/addressbook/Makefile.am:3: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/addressbook/Makefile.am:3: If `LT_INIT’ is in `configure.ac’, make sure
    src/addressbook/Makefile.am:3: its definition is in aclocal’s search path.
    src/addressbook/lzx/Makefile.am:1: Libtool library used but `LIBTOOL’ is undefined
    src/addressbook/lzx/Makefile.am:1: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/addressbook/lzx/Makefile.am:1: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/addressbook/lzx/Makefile.am:1: If `LT_INIT’ is in `configure.ac’, make sure
    src/addressbook/lzx/Makefile.am:1: its definition is in aclocal’s search path.
    src/calendar/Makefile.am:1: Libtool library used but `LIBTOOL’ is undefined
    src/calendar/Makefile.am:1: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/calendar/Makefile.am:1: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/calendar/Makefile.am:1: If `LT_INIT’ is in `configure.ac’, make sure
    src/calendar/Makefile.am:1: its definition is in aclocal’s search path.
    src/camel/Makefile.am:1: Libtool library used but `LIBTOOL’ is undefined
    src/camel/Makefile.am:1: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/camel/Makefile.am:1: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/camel/Makefile.am:1: If `LT_INIT’ is in `configure.ac’, make sure
    src/camel/Makefile.am:1: its definition is in aclocal’s search path.
    src/server/Makefile.am:66: `%’-style pattern rules are a GNU make extension
    src/server/Makefile.am:72: pkgconfig_DATA:-$(API_VERSION: non-POSIX variable name
    src/server/Makefile.am:3: Libtool library used but `LIBTOOL’ is undefined
    src/server/Makefile.am:3: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/server/Makefile.am:3: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/server/Makefile.am:3: If `LT_INIT’ is in `configure.ac’, make sure
    src/server/Makefile.am:3: its definition is in aclocal’s search path.
    src/utils/Makefile.am:1: Libtool library used but `LIBTOOL’ is undefined
    src/utils/Makefile.am:1: The usual way to define `LIBTOOL’ is to add `LT_INIT’
    src/utils/Makefile.am:1: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
    src/utils/Makefile.am:1: If `LT_INIT’ is in `configure.ac’, make sure
    src/utils/Makefile.am:1: its definition is in aclocal’s search path.
    autoreconf: automake failed with exit status: 1

  2. Henry says:

    This worked great! I’m using my exchange 2010 account with no issues.
    Ubuntu 12.04 Desktop on PowerPC G5

  3. […] Made script for automatic evolution-ews plugin install. By default ubuntu 12.04 uses evolution 3.2.3 and there are no evolution-ews package in repository. Use evolution-ews plugin the same version as Your evolution mail client version. If You want to compile and edit configuration file manualy, script automates everything that is written in this post: Adding MS exchange compability with evolution-ews in ubuntu 12.04 […]

  4. TT says:

    When I try to install, I get this error:

    libtool: install: warning: relinking `libewsutils.la’
    libtool: install: (cd /usr2/timur/evolution-ews-3.2.3/src/utils; /bin/sh /usr2/timur/evolution-ews-3.2.3/libtool –silent –tag CC –mode=relink gcc -g -O2 -DGSEAL_ENABLE -Wno-error=deprecated-declarations -Wall -Wextra -Wno-missing-field-initializers -Wno-sign-compare -Wno-unused-parameter -Wdeclaration-after-statement -Wno-unused-but-set-variable -Werror-implicit-function-declaration -Wformat-nonliteral -Wformat-security -Winit-self -Wmissing-declarations -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wpointer-arith -Wundef -Wwrite-strings -Werror -no-undefined -o libewsutils.la -rpath /usr/lib/evolution-data-server-3.2 libewsutils_la-ews-esource-utils.lo libewsutils_la-e-sqlite3-vfs.lo libewsutils_la-ews-camel-common.lo ../../src/server/libeews-1.2.la -lsqlite3 -ledataserver-1.2 -lxml2 -lgconf-2 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lcamel-provider-1.2 -lcamel-1.2 -ledataserver-1.2 -lsqlite3 -lnss3 -lnssutil3 -lsmime3 -lssl3 -lxml2 -lgconf-2 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lplds4 -lplc4 -lnspr4 -lgthread-2.0 )
    mv: cannot move `libewsutils.so.0.0.0′ to `libewsutils.so.0.0.0U’: Permission denied
    libtool: install: error: relink `libewsutils.la’ with the above command before installing it

Leave a Reply

%d bloggers like this: