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
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html