[Kolab-devel] Cyrus 2.5 git behaves different on arm and x86
hede <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kolab |
|---|---|
| Organization | der-he.de |
| Message-ID | <20141017171626.26c9ddd1@tbb-phenom> |
Hi list,
I've sent this to the users list, but maybe the devel list fits better.
Now with additional infos.
This mail mostly addresses Jeroen van Meeuwen, I think, because he is
working on cyrus imapd.
>>> infos I gathered last friday, i.e. what I've written last friday:
I'm using Kolab 3.x for some time now (updated 3.0->3.1->3.2) on
a Wandboard (with Freescale i.MX6 ARM SoC).
I'm not using cyrus-imapd-2.5 from kolabsys.com because for me it seems
broken on arm, so even I'm using Kolab 3.2 i'm running Cyrus 2.4 for now.
But I would like to switch to Kolab 3.3 and cyrus imapd 2.5.
The last days I gave it another try, I've compiled
cyrus-imapd_2.5~dev2014082101-0~kolab1_armhf.deb
from the kolab sources (http://obs.kolabsys.com:82/Kolab:/...).
(((
dpkg-source -x cyrus-imapd_2.5~dev2014082101-0~kolab1.dsc
cd cyrus-imapd-2.5~dev2014082101
dpkg-buildpackage -us -uc
... results in the deb abobe
)))
I did so with the whole kolab sources. And installed it.
But it doesn't do it's job. Many problems... many...
Then I've created a fresh Debian 7 lxc vm, installed only cyrus-imapd
with it's dependencies plus sasl2-bin to have a working environment.
Using cyradm to create a mailbox results in a clear but unwanted behaviour:
###################
root@kolab33test:/var/lib/imap# cyradm -u cyrus localhost
verify error:num=18:self signed certificate
IMAP Password:
localhost>
localhost> lm
localhost> cm mbox1
localhost> cm mbox2
localhost> lm
localhost> cm mbox1
createmailbox: System I/O error
localhost> cm mbox2
createmailbox: System I/O error
localhost> lm
localhost> quit
root@kolab33test:/var/lib/imap#
###################
It seems all files got created:
###################
root@kolab33test:/var/lib/imap# find /var/spool/imap/
[...]
/var/spool/imap/m
/var/spool/imap/m/mbox2
/var/spool/imap/m/mbox2/cyrus.header
/var/spool/imap/m/mbox2/cyrus.cache
/var/spool/imap/m/mbox2/cyrus.index
/var/spool/imap/m/mbox1
/var/spool/imap/m/mbox1/cyrus.header
/var/spool/imap/m/mbox1/cyrus.cache
/var/spool/imap/m/mbox1/cyrus.index
/var/spool/imap/.viminfo
/var/spool/imap/j
/var/spool/imap/d
root@kolab33test:/var/lib/imap#
###################
But even after reconstructing the hole /var/lib/imap directory (deleting and
recreating a mailbox.db with mbox1 and mbox2 in it) "lm" results in nothing
and "cm" results in an I/O error and not complaining about an existing mailbox.
I don't know how to solve this problem.
Anybody else using cyrus imapd 2.5 on arm or any other non-Intel environment?
>>> additional infos I gathered this friday, today:
I've created two LXC VMs: one on the ARM and one at my x86 Desktop.
Both using Debian 7 and cyrus-imapd-2.5-snapshot-autoconf-and-automake-1034-g9704e5d
(git clone git://git.cyrusimap.org/cyrus-imapd/)
I did:
aclocal -I cmulocal
autoheader
autoconf
at the arm machine and copied the source files to the x86 target.
both using the same "./configure"-line, except "--build arm-linux-gnueabihf"
vs. "--build i386-linux-gnu". All configured to use /usr/local/ prefix.
-> make -> make install.
Same cyrus.conf and imapd.conf.
Both with cleaned /var/lib/imap and /var/spool/imap.
Then I manually started cyrus:
/usr/local/lib/cyrus-imapd/master -M /usr/local/etc/cyrus.conf \
-C /usr/local/etc/imapd.conf -l 32 -d
And connected via cyradm:
cyradm -u cyrus localhost
but behaviour differs.
at the x86:
#########
root@kolab33test:~# cyradm -u cyrus localhost
Password:
localhost> lm
localhost> cm mbox1
localhost> lm
mbox1 (\HasNoChildren)
localhost> cm mbox1
createmailbox: Mailbox already exists
#########
looks like normal behaviour.
at the arm:
#########
root@kolab33test:~# cyradm -u cyrus localhost
Password:
localhost> lm
localhost> cm mbox1
localhost> lm
localhost> cm mbox1
createmailbox: System I/O error
#########
doesn't look like it's working as it should be.
So even if I compile cyrus-imapd (from git) on a clean Debian 7 the behaviour
of x86 and arm differs. x86 seems to be fine while arm has some problem/bug.
Any hints on how to debug this?
(btw: even if it's the same Debian version, both are slightly different.
On x86 it's using gcc 4.7.2 while on arm it's using gcc 4.6.3.
Maybe that's the matter?)
regards
hede