Solaris 10 install of Cyrus

Geoff Pryke geoff at gold.ac.uk
Mon Sep 25 07:19:03 EDT 2006


Hello, new to this list, but have been managing a Cyrus installation for a 
few years with a colleague, who has since left.

I have been trying to install Cyrus Imap 2.2.12 on a Sun T2000, running 
Solaris 10, with little success.  Well, actually it all works apart from 
the final part of the compilation which creates the perl module and the 
cyradm utility.  I've tried all of what I could find as hints on the 
various list archives and still have the problem.  Compiling with the 
bundled gcc, I used the following configure options:

export CFLAGS="-fPIC"
export CC="gcc"
./configure --with-dbdir=/usr/local/BerkeleyDB.4.4 
--with-openssl=/usr/sfw/lib --with-sasl=/usr/lib/sasl2 --without-krbdes 
--without-krb --without-krb
impl --without-snmp

Followed by:

make

All goes well until the end:

### Making all in /usr/local/src/cyrus/cyrus-imapd-2.2.12/perl/imap
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lssl
Note (probably harmless): No library found for -lcrypto
Writing Makefile for Cyrus::IMAP
make[2]: Entering directory 
`/usr/local/src/cyrus/cyrus-imapd-2.2.12/perl/imap'
cp IMAP/Admin.pm blib/lib/Cyrus/IMAP/Admin.pm
cp IMAP.pm blib/lib/Cyrus/IMAP.pm
cp IMAP/Shell.pm blib/lib/Cyrus/IMAP/Shell.pm
cp IMAP/IMSP.pm blib/lib/Cyrus/IMAP/IMSP.pm
/usr/bin/perl /usr/perl5/5.8.4/lib/ExtUtils/xsubpp  -typemap 
/usr/perl5/5.8.4/lib/ExtUtils/typemap -typemap typemap  IMAP.xs > IMAP.xsc 
&& mv IMAP.xsc IMAP.c
cc -c  -I../../lib -I/usr/lib/sasl2/include -I/usr/sfw/lib/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_TS_ERRNO -xO3 
-xspace -xildoff   -DVERSION=\"1.00\" -DXS_VERSION=\"1.00\" -KPIC 
"-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE"  -DPERL_POLLUTE IMAP.c
cc: unrecognized option `-KPIC'
cc: language ildoff not recognized
cc: IMAP.c: linker input file unused because linking not done
Running Mkbootstrap for Cyrus::IMAP ()
chmod 644 IMAP.bs
rm -f blib/arch/auto/Cyrus/IMAP/IMAP.so
LD_RUN_PATH="/usr/local/BerkeleyDB.4.4/lib:/usr/lib:/lib" cc  -G IMAP.o  -o 
blib/arch/auto/Cyrus/IMAP/IMAP.so ../../lib/libcyrus.a 
../../lib/libcyrus_min.a  -L/usr/local/BerkeleyDB.4.4/lib 
-R/usr/local/BerkeleyDB.4.4/lib -ldb-4.4 -lsasl2 -lrt
cc: IMAP.o: No such file or directory
make[2]: *** [blib/arch/auto/Cyrus/IMAP/IMAP.so] Error 1
make[2]: Leaving directory 
`/usr/local/src/cyrus/cyrus-imapd-2.2.12/perl/imap'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/usr/local/src/cyrus/cyrus-imapd-2.2.12/perl'
make: *** [all] Error 1

Then manually changing the Makefile in perl/imap to make the compiler 
options -fPIC and removing the optimize options allows the make to complete 
and make install to work, but with some errors:

cc -c  -I../../lib -I/usr/lib/sasl2/include -I/usr/sfw/lib/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64     -DVERSION=\"1.00\" 
-DXS_VERSION=\"1.00\" -fPIC 
"-I/usr/perl5/5.8.4/lib/sun4-solaris-64int/CORE"  -DPERL_POLLUTE IMAP.c
IMAP.c: In function `XS_Cyrus__IMAP_DESTROY':
IMAP.c:400: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_setflags':
IMAP.c:439: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_clearflags':
IMAP.c:465: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_flags':
IMAP.c:492: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_servername':
IMAP.c:521: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_processoneevent':
IMAP.c:546: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP__authenticate':
IMAP.c:580: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_addcallback':
IMAP.c:644: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP__send':
IMAP.c:771: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_getselectinfo':
IMAP.c:887: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_fromURL':
IMAP.c:929: warning: cast to pointer from integer of different size
IMAP.c: In function `XS_Cyrus__IMAP_toURL':
IMAP.c:981: warning: cast to pointer from integer of different size
Running Mkbootstrap for Cyrus::IMAP ()
chmod 644 IMAP.bs
rm -f blib/arch/auto/Cyrus/IMAP/IMAP.so
LD_RUN_PATH="/usr/local/BerkeleyDB.4.4/lib:/usr/lib:/lib" cc  -G IMAP.o  -o 
blib/arch/auto/Cyrus/IMAP/IMAP.so ../../lib/libcyrus.a 
../../lib/libcyrus_min.a  -L/usr/local/BerkeleyDB.4.4/lib 
-R/usr/local/BerkeleyDB.4.4/lib -ldb-4.4 -lsasl2 -lrt
chmod 755 blib/arch/auto/Cyrus/IMAP/IMAP.so
cp IMAP.bs blib/arch/auto/Cyrus/IMAP/IMAP.bs
chmod 644 blib/arch/auto/Cyrus/IMAP/IMAP.bs
cat cyradm.sh >cyradm
chmod a+x cyradm
cp cyradm blib/script/cyradm
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/cyradm
Manifying blib/man1/cyradm.1
Manifying blib/man3/Cyrus::IMAP::Admin.3
Manifying blib/man3/Cyrus::IMAP::Shell.3
Manifying blib/man3/Cyrus::IMAP.3
Manifying blib/man3/Cyrus::IMAP::IMSP.3

make install installs everything, but trying to run cyradm gives :

Can't load 
'/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/auto/Cyrus/IMAP/IMAP.so' for 
module Cyrus::IMAP: ld.so.1: perl: fatal: relocation error: file 
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/auto/Cyrus/IMAP/IMAP.so: 
symbol SSL_read: referenced symbol not found at 
/usr/perl5/5.8.4/lib/sun4-solaris-64int/DynaLoader.pm line 230.
 at /usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Cyrus/IMAP/Admin.pm line 
44
Compilation failed in require at 
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Cyrus/IMAP/Admin.pm line 44.
BEGIN failed--compilation aborted at 
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Cyrus/IMAP/Admin.pm line 44.
Compilation failed in require at 
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Cyrus/IMAP/Shell.pm line 60.
BEGIN failed--compilation aborted at 
/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/Cyrus/IMAP/Shell.pm line 60.
Compilation failed in require.
BEGIN failed--compilation aborted.

I'm tearing my hair out and can't see what's wrong.  I've even tried using 
the Blastwave pkg format solaris package - this does install but seems to 
be lacking in cyradm.

Any help or suggestions gratefully received - and apologies for the length 
of this email.

Regards

Geoff Pryke
Systems
Goldsmiths College UK



More information about the Info-cyrus mailing list