Cyrus IMAP 3.0.0 and Oracle Solaris/Compiler

Stefan Rapp stefan.rapp at
Wed Apr 5 09:38:38 EDT 2017


i tried to compile Cyrus IMAP 3.0.0 on Oracle Solaris (x86) using the
native compiler in 64bit mode. I used the same settings as for a working
2.5.10 setup. During start up i got "twoskip header CRC failure" opening

To test my setup and to experiment with code changes i compiled the
CUnit checks, found and solved some problems:

- The command_popen for /usr/bin/tr in cunit/command.testc needs
brackets ("[" and "]") for character classes.

- LITTLE_ENDIAN used in lib/crc32.c, lib/crc32c.c and lib/xsha1.c is not
defined. The configure script generates a correct definition of
WORDS_BIGENDIAN. So the checks for LITTLE_ENDIAN should be replaced with
negated checks for WORDS_BIGENDIAN.

- The regcomp-call in lib/glob.c needs REG_EXTENDED as the last parameter.

- There is no qsort_r support in Solaris and the construct used for GNUC
doesn't work with the Oracle Compiler. I ended up using the BSD-Source
for qsort_r.

- The function cmpstringp_mbox in lib/bsearch.c returns 0 for strings
that are of differing lengths and identical until the end of the first
string (error in Suite: strarray, Test: sortuniq, mbox order sort). Adding

    if (cmp == 0) {
        cmp = TOCOMPARE(*s1) - TOCOMPARE(*s2);

before "return cmp;" helped (this error is also in 2.5.10, but i didn't
notice before because i did no CUnit checks).

I still have 16 errors in the CUnit sieve checks, but this is identical
to 2.5.10. As the sieve scripts (seem to) work in our setup this could
be a problem of the checks ???



Stefan Rapp
TU Dortmund
IT & Medien Centrum
D-44221 Dortmund

Mail: stefan.rapp at
Phone: +49 231 755 4668
Fax: +49 231 755 2731

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5182 bytes
Desc: S/MIME Cryptographic Signature
URL: <>

More information about the Info-cyrus mailing list