http://underpop.online.fr/n/nielshorn Random thoughts, tips & tricks about Slackware-Linux, Lego and Star Wars Fri, 09 Nov 2012 00:02:45 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 http://underpop.online.fr/n/nielshorn/2010/12/zarafa-6-40-3-released/ http://underpop.online.fr/n/nielshorn/2010/12/zarafa-6-40-3-released/#comments Wed, 01 Dec 2010 02:04:41 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=919 zarafaEarlier this month released version 6.40.3 of their Collaboration Platform, fixing several bugs and introducing a few new features. For more detailed info, check the on the Zarafa forum.

I already submitted the new SlackBuilds for the server product and the webaccess module to SlackBuilds.org and uploaded the packages to my .

]]> http://underpop.online.fr/n/nielshorn/2010/12/zarafa-6-40-3-released/feed/ 0 http://underpop.online.fr/n/nielshorn/2010/09/getting-zarafa-6-40-2-to-work-on-slackware/ http://underpop.online.fr/n/nielshorn/2010/09/getting-zarafa-6-40-2-to-work-on-slackware/#comments Sun, 05 Sep 2010 04:04:08 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=553 A few days ago, while working on the update of my SlackBuild for version 6.40.1, version 6.40.2 was released. At first I thought of submitting the script using the newest version, but soon found out that it was not that simple… The newest release simply would not build on Slackware… Since I had already spent some time to get 6.40.1 working fine, I decided not to delay the submission more, and finished the script for that version and uploaded the packages to my site.

So now that 6.40.1 was available for Slackware, I decided to get back at the problem and investigate some more.
I found several problems with the newest version, all in the code of the ECTestTools subdirectory. My impression is that the authors were in a bit of a hurry to get 6.40.2 out (that solves some bugs in the previous versions), but forgot the check / alter the test tools. :)

In total I found three problems, which I managed to solve by patching the code (2x) and Makefile (1x).

These were my findings:

Problem1: rectest.cpp:82: error: no matching function for call to 'RecurrenceState::ParseBlob(char*, size_t)'

The ParseBlob function was changed in 6.40.2 but the rectest.cpp file was not altered accordingly. It needs and extra parameter, so I checked the code to see how it was called in other places and patched it like this:

--- zarafa-6.40.2/ECtools/ECTestTools/RecurrenceTest/rectest.cpp 2010-08-30 08:01:44.000000000 -0300
+++ zarafa-6.40.2_patched/ECtools/ECTestTools/RecurrenceTest/rectest.cpp 2010-09-04 13:27:42.000000000 -0300
@@ -79,7 +79,7 @@
 RecurrenceState r;
- hr = r.ParseBlob((char *)strBin.c_str(), strBin.size());
+ hr = r.ParseBlob((char *)strBin.c_str(), strBin.size(), 0);
 if(hr == hrSuccess) {
 cerr << "Recurrence OK" << std::endl;

Problem 2: mapi2ical.cpp:173: error: no matching function for call to 'MapiToICal::AddMessage(IMessage*&, int)'

This was also caused by a change in the number of parameters, this time in the AddMessage function. Again, I checked the code to understand how this function was called and noticed that in several places it was altered by using std::string() for the extra parameter, so I added this patch:

--- zarafa-6.40.2/ECtools/ECTestTools/ICalTests/mapi2ical.cpp 2010-08-30 08:01:44.000000000 -0300
+++ zarafa-6.40.2_patched/ECtools/ECTestTools/ICalTests/mapi2ical.cpp 2010-09-04 13:55:38.000000000 -0300
@@ -170,7 +170,7 @@
 goto next;
- hr = lpMapiToICal->AddMessage(lpMessage, 0);
+ hr = lpMapiToICal->AddMessage(lpMessage, std::string(), 0);
 if (hr != hrSuccess) {
 cerr << "-- broken message!" << stringify(hr, 1) << endl;
 goto next;

Problem 3: ../../../libicalmapi/.libs/libicalmapi.so: undefined reference to `RecurrenceState::ParseBlob(char*, unsigned int, unsigned int)' (plus several other similar messages)

This one was a bit more complicated to trace, but I found out that some files had changed position in the source tree and I managed to solve this in the Makefile.in that is used by ./configure to create the Makefile:

--- zarafa-6.40.2/ECtools/ECTestTools/ICalTests/Makefile.in 2010-08-30 04:31:48.000000000 -0300
+++ zarafa-6.40.2_patched/ECtools/ECTestTools/ICalTests/Makefile.in 2010-09-04 15:09:39.000000000 -0300
@@ -272,6 +272,7 @@
 ${top_builddir}/common/libcommon_mapi.la \
 ${top_builddir}/common/libcommon_util.la \
 ${top_builddir}/libicalmapi/libicalmapi.la \
+ ${top_builddir}/libfreebusy/libfreebusy.la \
 $(PROG_LIBS) $(ICAL_LIBS)
 mapi2ical_SOURCES = mapi2ical.cpp

After applying this patch the SlackBuild completed without problems!
I posted these patches on the Zarafa forum as well so I hope that the author will fix it for the next official release.

I'm testing the resulting binaries on my server, and if they continue running without problems for a few days, I'll submit the new script and upload the new packages to my site.

update: The patch can be downloaded and the packages are available on my .

]]> http://underpop.online.fr/n/nielshorn/2010/09/getting-zarafa-6-40-2-to-work-on-slackware/feed/ 2