Koozali.org: home of the SME Server

I need an updated php53-mapi for Zarafa

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
I need an updated php53-mapi for Zarafa
« on: January 02, 2013, 04:17:47 AM »
Hi Folks,

I upgraded my Zarafa version over the holidays and I am loving the new webapp, however the latest version breaks Active-Sync integration. Before I started I was already at version 7.1.0 so went and updated to 7.1.2 and updated z-push to 1.5.14 (last of the 1.5 versions to be made by the way) and now Active Sync to my devices doesn't work. Funny thing is I can wipe the device using the MDM plugin and it provisions fine, however no data is transferred.

When you look at the log file for z-push you can see the device request the FolderSync but then nothing. What is most disturbing is that you also get related errors in the Apache error log, what happens is when you sync, you get a segfault from a httpd dameon, a few each time you sync. Obviously the PID changes and new httpd processes spawn in their place but this is biggest concern.

My webmail and access to email via Thunderbird still works fine with the latest version of Zarafa, but the version displayed on the webaccess and webapp is 7.0.9-36358 which I believe is the latest version number of the last php53-mapi release.

I would happily build a new rpm myself, except I have absolutely no idea on how to do it.

I have also create a bug report http://bugs.contribs.org/show_bug.cgi?id=7195 that relates.

Thanks

Girkers
« Last Edit: January 06, 2013, 10:41:36 AM by girkers »

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa (Trying to build from source)
« Reply #1 on: January 06, 2013, 11:22:52 AM »
As I need to get the Activesync functionality back I have attempted to compile Zarafa from scratch so that I can get the required MAPI file(s) I need for my production system.

Because I am using SME v8 I thought I would use that to compile the source as I want to make sure that it will be compatible when I am finished. I built a test server and updated it and then started installing the dependencies required to build Zarafa 7.1.2.

The compilation process can be found here: http://www.zarafa.com/wiki/index.php/Compiling_source_code

First thing is to install all of the dependencies to allow you do the build, to do this you need to include the epel and ATrpms repositories. Adding epel http://wiki.contribs.org/Epel and ATrpms http://wiki.contribs.org/ATrpms. The next dependency is libvmime & kytocabinet, I got these from the current packaged version of Zarafa 7.1.2 http://download.zarafa.com/community/final/7.1/7.1.2-39121/.

Now the biggest bugger was Boost. The current version standard version on the repositories is to low and you can get version boost141 however the source would still crash out on a Boost error. So I uninstall all versions of Boost and downloaded and installed the latest 1.5.2 at time of writing, it took an eternity to build. I followed the instructions here http://www.boost.org/doc/libs/1_52_0/more/getting_started/unix-variants.html

I was then able to get the configure to finish using this command line:
Code: [Select]
./configure --enable-release --disable-static --with-userscript-prefix=/etc/zarafa/userscripts --with-quotatemplate-prefix=/etc/zarafa/quotamails  --enable-unicode --with-boost=/usr/local/
Funny thing about the command line in the Zarafa doco, it says to add the command --disable-perl however this generates an error.

So the configure runs through and as I have rarely compiled things I have no clue what the screen is doing, anyway it finishes with:
Code: [Select]
Install prefix  :       /usr/local
Mapiconfig dir  :       /etc/mapi
Userscript dir  :       /etc/zarafa/userscripts
Quota dir       :       /etc/zarafa/quotamails
Search scripts dir      :       /etc/zarafa/searchscripts

Build host      :       i686-pc-linux-gnu
Compile flags   :       -g -O2  -g -rdynamic -Wall -Wno-write-strings  -DHAVE_CONFIG_H -pedantic -Wno-long-long -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-variadic-macros -pthread -O2 -fno-strict-aliasing -DNDEBUG -DFORCE_CHARSET_CONVERSION -DUNICODE
Debug flags     :
PHP version     :       5.3.3
PHP ext dir     :       /usr/lib/php/modules
PHP config dir  :       /etc/php.d
PHP flags       :       -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib
PHP libs        :
gSOAP flags     :       -DWITH_OPENSSL -DWITH_GZIP
gSOAP libs      :       -lz
OpenSSL libs    :        -lssl -lcrypto
MySQL flags     :       -I/usr/include/mysql
MySQL libs      :       -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto
VMime flags     :       -I/usr/include
VMime libs      :        -lvmime
XML2 flags      :       -I/usr/include/libxml2
XML2 libs       :       -L/usr/lib -lxml2 -lz -lm
ICal flags      :       -I/usr/include
ICal libs       :       -lical -licalss
clucene flags   :        -I/usr/lib -I/usr/include
clucene libs    :
kyotocabinet libs       :       -lkyotocabinet
ncurses libs    :       -lncursesw
Clients libs    :       -luuid   -lz -licui18n -licuuc -licudata -lpthread -lm
xmlto           :
LDAP support    :
LDAP flags      :
LDAP libs       :
Curl libs       :
Pam libs        :
Krb5 libs       :
TCMalloc lib    :
Boost           :
 Flags          :       -I/usr/local//include
 FS ldflags     :       -L/usr/local//lib
 FS libs        :       -lboost_filesystem
ICU libs        :       -licui18n -licuuc -licudata -lpthread -lm
Swig            :       no
Python module   :       no

I did the first run of make and what (most of the time) and saw what I thought were error messages, but it happily went until it crashed again. So I run make again and got the below result:
Code: [Select]
[root@testy zarafa-7.1.2]# make
make  all-recursive
make[1]: Entering directory `/tmp/zarafa-7.1.2'
Making all in common
make[2]: Entering directory `/tmp/zarafa-7.1.2/common'
make  all-am
make[3]: Entering directory `/tmp/zarafa-7.1.2/common'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/common'
make[2]: Leaving directory `/tmp/zarafa-7.1.2/common'
Making all in libfreebusy
make[2]: Entering directory `/tmp/zarafa-7.1.2/libfreebusy'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/zarafa-7.1.2/libfreebusy'
Making all in mapi4linux
make[2]: Entering directory `/tmp/zarafa-7.1.2/mapi4linux'
Making all in src
make[3]: Entering directory `/tmp/zarafa-7.1.2/mapi4linux/src'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/mapi4linux/src'
Making all in include
make[3]: Entering directory `/tmp/zarafa-7.1.2/mapi4linux/include'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/mapi4linux/include'
make[3]: Entering directory `/tmp/zarafa-7.1.2/mapi4linux'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/mapi4linux'
make[2]: Leaving directory `/tmp/zarafa-7.1.2/mapi4linux'
Making all in zarafa-libsync
make[2]: Entering directory `/tmp/zarafa-7.1.2/zarafa-libsync'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/zarafa-7.1.2/zarafa-libsync'
Making all in provider
make[2]: Entering directory `/tmp/zarafa-7.1.2/provider'
Making all in tools
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/tools'
Making all in soapcpp2
make[4]: Entering directory `/tmp/zarafa-7.1.2/provider/tools/soapcpp2'
make  all-am
make[5]: Entering directory `/tmp/zarafa-7.1.2/provider/tools/soapcpp2'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/tmp/zarafa-7.1.2/provider/tools/soapcpp2'
make[4]: Leaving directory `/tmp/zarafa-7.1.2/provider/tools/soapcpp2'
make[4]: Entering directory `/tmp/zarafa-7.1.2/provider/tools'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/tmp/zarafa-7.1.2/provider/tools'
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/tools'
Making all in include
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/include'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/include'
Making all in soap
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/soap'
make  all-am
make[4]: Entering directory `/tmp/zarafa-7.1.2/provider/soap'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/tmp/zarafa-7.1.2/provider/soap'
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/soap'
Making all in common
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/common'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/common'
Making all in libserver
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/libserver'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/libserver'
Making all in server
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/server'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/server'
Making all in client
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/client'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/client'
Making all in plugins
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/plugins'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/plugins'
Making all in contacts
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider/contacts'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider/contacts'
make[3]: Entering directory `/tmp/zarafa-7.1.2/provider'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/provider'
make[2]: Leaving directory `/tmp/zarafa-7.1.2/provider'
Making all in libicalmapi
make[2]: Entering directory `/tmp/zarafa-7.1.2/libicalmapi'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/zarafa-7.1.2/libicalmapi'
Making all in inetmapi
make[2]: Entering directory `/tmp/zarafa-7.1.2/inetmapi'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/zarafa-7.1.2/inetmapi'
Making all in php-ext
make[2]: Entering directory `/tmp/zarafa-7.1.2/php-ext'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/zarafa-7.1.2/php-ext'
Making all in ECtools
make[2]: Entering directory `/tmp/zarafa-7.1.2/ECtools'
Making all in zarafa-archiver
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-archiver'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-archiver'
Making all in zarafa-admin
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-admin'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-admin'
Making all in zarafa-monitor
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-monitor'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-monitor'
Making all in zarafa-passwd
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-passwd'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-passwd'
Making all in zarafa-fsck
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-fsck'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-fsck'
Making all in zarafa-cfgchecker
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-cfgchecker'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-cfgchecker'
Making all in zarafa-stats
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-stats'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-stats'
Making all in zarafa-search
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-search'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-search'
Making all in zarafa-utils
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools/zarafa-utils'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools/zarafa-utils'
make[3]: Entering directory `/tmp/zarafa-7.1.2/ECtools'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/zarafa-7.1.2/ECtools'
make[2]: Leaving directory `/tmp/zarafa-7.1.2/ECtools'
Making all in spooler
make[2]: Entering directory `/tmp/zarafa-7.1.2/spooler'
make  all-recursive
make[3]: Entering directory `/tmp/zarafa-7.1.2/spooler'
Making all in python
make[4]: Entering directory `/tmp/zarafa-7.1.2/spooler/python'
Making all in plugins
make[5]: Entering directory `/tmp/zarafa-7.1.2/spooler/python/plugins'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/tmp/zarafa-7.1.2/spooler/python/plugins'
make[5]: Entering directory `/tmp/zarafa-7.1.2/spooler/python'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/tmp/zarafa-7.1.2/spooler/python'
make[4]: Leaving directory `/tmp/zarafa-7.1.2/spooler/python'
make[4]: Entering directory `/tmp/zarafa-7.1.2/spooler'
  CXX    DAgent.o
In file included from DAgent.cpp:90:
PyMapiPlugin.h:53:20: error: Python.h: No such file or directory
PythonSWIGRuntime.h:811: error: 'PyObject' was not declared in this scope
PythonSWIGRuntime.h:811: error: 'str' was not declared in this scope
PythonSWIGRuntime.h:812: error: expected ',' or ';' before '{' token
PythonSWIGRuntime.h:835: error: expected initializer before '*' token
PythonSWIGRuntime.h:861: error: expected initializer before '*' token
PythonSWIGRuntime.h:915: error: expected initializer before '*' token
PythonSWIGRuntime.h:935: error: expected initializer before '*' token
/usr/local/include/boost/exception/exception.hpp:137: error: expected declaration before end of line
make[4]: *** [DAgent.o] Error 1
make[4]: Leaving directory `/tmp/zarafa-7.1.2/spooler'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/zarafa-7.1.2/spooler'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/zarafa-7.1.2/spooler'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/zarafa-7.1.2'
make: *** [all] Error 2

Now I have no clue where to go from here, I have found that I do have a mapi.so and a mapi.la file in the /usr/lib/php/modules/ directory, however the one I have on my live system is way bigger.

Anyway on a long shot I simply copied the mapi.so from my test build system to my live system ran the Zarafa update script to restart everything and now my phone is syncing.

Yippie  :shock: the wife will be happy.

I have to run now anyone who would like a copy of the file or if someone can direct me on how to make this an RPM I would be most grateful.

Thanks

guest22

Re: I need an updated php53-mapi for Zarafa
« Reply #2 on: January 08, 2013, 03:10:26 AM »
FYI, I'm running the latest 2.x version of z-push. No issues at all. Need to update the wiki.

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa
« Reply #3 on: January 08, 2013, 03:17:17 AM »
I too am using the latest Z-push and can confirm that it is working with my Samsung Galaxy Note II running 4.1.1

Offline compsos

  • *
  • 472
  • +0/-0
Re: I need an updated php53-mapi for Zarafa
« Reply #4 on: January 11, 2013, 04:06:26 AM »
Hi girkers
What versions of
Zarafa 7.1.2?
z-push 2.0.6?
php53-mapi?

We are seeing a sync failure on Sme 8 with
Zarafa 7.1.0
Z-push 2.0.6 & 2.0.5
php53-mapi-7.0.9 <-- this is the latest php-mapi I have found for CentOS 5.8

Or error is in z-push-error.log
Code: [Select]
11/01/2013 12:43:14 [ 7727] [ERROR] [user] [device ID] Please check your logs for this PID and errors like PHP-Fatals or Apache segmentation faults and report your results to the Z-Push dev team.
11/01/2013 12:43:15 [10074] [ERROR] [user] [device ID]LoopDetection->ProcessLoopDetectionPreviousConnectionFailed(): Command 'FolderSync' at 11/01/2013 12:39:38 with pid '7152' terminated unexpectedly or is still running.
11/01/2013 12:43:15 [10074] [ERROR] [user] [device ID] Please check your logs for this PID and errors like PHP-Fatals or Apache segmentation faults and report your results to the Z-Push dev team.

In the httpd error_log
Code: [Select]
[Fri Jan 11 12:43:15 2013] [notice] child pid 10074 exit signal Segmentation fault (11)
[Fri Jan 11 12:43:15 2013] [notice] child pid 10078 exit signal Segmentation fault (11)
[Fri Jan 11 12:43:16 2013] [notice] child pid 10079 exit signal Segmentation fault (11)

We are thinking of winding it back to zarafa 7.0.9 but not sure if it will work. All other functions in Zarafa work.

Regards

Gordon............

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa
« Reply #5 on: January 11, 2013, 04:36:49 AM »
Hi girkers
What versions of
Zarafa 7.1.2?
z-push 2.0.6?
php53-mapi?

We are seeing a sync failure on Sme 8 with
Zarafa 7.1.0
Z-push 2.0.6 & 2.0.5
php53-mapi-7.0.9 <-- this is the latest php-mapi I have found for CentOS 5.8

Sorry Gordon my post may not have been clear, I am using Zarafa 7.1.2 and Z-Push 2.0.6, but the php53-mapi file I am using is one I rolled myself. I was having the exact error messages that you are getting with the old version of php53-mapi and it wasn't until I compiled my own and copied it to my production system did I get it to work. Either email me or send me a PM with your email addess and I will send you across my mapi.so file and see if that fixes it for you.

Girkers

Offline compsos

  • *
  • 472
  • +0/-0
Re: I need an updated php53-mapi for Zarafa
« Reply #6 on: January 11, 2013, 05:36:19 AM »
Hi Girkers
We have just gone through the pain of downgrading back to 7.0.9 on the machine affected and the z-push sync works. Note we only went from 7.1.0 back to 7.0.9 some zarafa upgrades change the database tables other than versions.

But more than happy to try the mapi.so file on a test platform or maybe a howto on compling just the php-mapi so it can be done at each zarafa release. If it was not for the php-mapi issues zarafa is a great communications program.
Regards

Gordon............

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa
« Reply #7 on: January 11, 2013, 07:24:11 AM »
Mate I hear you on the php53-mapi thing. If you read my earlier posts you will see what I did to compile the mapi.so I didn't have any instructions and in the end I could not get the whole application to compile. It was simply a stroke of luck that I was able to get the mapi.so part to compile and it now reporting as version 7.1.2-39121

Girkers

Offline Snoopyski

  • *
  • 141
  • +0/-0
    • http://www.serviceinfosg.com
Re: I need an updated php53-mapi for Zarafa
« Reply #8 on: February 23, 2013, 02:09:32 AM »
Sorry Gordon my post may not have been clear, I am using Zarafa 7.1.2 and Z-Push 2.0.6, but the php53-mapi file I am using is one I rolled myself. I was having the exact error messages that you are getting with the old version of php53-mapi and it wasn't until I compiled my own and copied it to my production system did I get it to work. Either email me or send me a PM with your email addess and I will send you across my mapi.so file and see if that fixes it for you.

Girkers

Hello... I need that fix to !!! Zarafa 7.1.3 + Z-Push 2.0.7... Where I can find it ?

Tks,

Snoopyski

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa
« Reply #9 on: February 23, 2013, 02:11:51 AM »
Hello... I need that fix to !!! Zarafa 7.1.3 + Z-Push 2.0.7... Where I can find it ?

Tks,

Snoopyski

I have not published the file anywhere if you can email me or send me a PM with your email address I will get you across my mapi.so file. However I can't guarantee that it will work for you however it did for me.

Offline Snoopyski

  • *
  • 141
  • +0/-0
    • http://www.serviceinfosg.com
Re: I need an updated php53-mapi for Zarafa
« Reply #10 on: February 23, 2013, 02:22:28 AM »
I already send you an email... I try for PM but cannot find the icon !!! ;-0

Offline girkers

  • *
  • 296
  • +0/-0
    • gk computer services
Re: I need an updated php53-mapi for Zarafa
« Reply #11 on: February 23, 2013, 02:26:33 AM »
Email on it's way back to you, it would be appreciate if you could let us know if it works for you.

When I have some time I should probably look at trying to update it to 7.1.3.

Offline zarcky

  • 2
  • +0/-0
Re: I need an updated php53-mapi for Zarafa
« Reply #12 on: June 11, 2013, 11:23:02 AM »
For you all who are in need of the mapi, you can find it for ZCP v7.1.4 & Z-Push 2.0.7 at

http://www.soneco.nl/autoindex/index1.php?dir=Zarafa/&file=mapi.zip

Greetings from Holland.

Offline Gert

  • ****
  • 208
  • +0/-0
    • http://www.huge.co.za
Re: I need an updated php53-mapi for Zarafa
« Reply #13 on: July 27, 2013, 04:54:06 AM »
Hi guys,

There is a bug in zarafa 7.0.13 that causes huge problems with apple mac & imap (See https://forums.zarafa.com/showthread.php?9478-100-CPU-usage-of-zarafa-gateway ). Apparently it has been fixed in the latest stable release 7.0.14 but I cant seem to find php53-mapi-7.0.14 so I cant upgrade. Does anyone know if it is available yet?