After building 2.0.9 on Solaris 2.7 cyradm produced this error

Can't load
'/usr/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/Cyrus/IMAP/IM
AP.so' for module Cyrus::IMAP: ld.so.1: perl: fatal: relocation error: file
/usr
/local/lib/perl5/site_perl/5.6.0/sun4-solaris/auto/Cyrus/IMAP/IMAP.so:
symbol SS
L_clear: referenced symbol not found at
/usr/local/lib/perl5/5.6.0/sun4-solaris/
DynaLoader.pm line 200.

This seems to be because the SSL libraries are located in /usr/local/ssl,
but this was not communicated to the perl MakeMaker process.

My configure command was

./configure --with-cyrus-prefix=/usr/local/cyrus --without-krb \
    --with-dbdir=/usr/local/BerkeleyDB.3.1 --with-openssl=/usr/local/ssl

and relevant excerpt from ouput of make:

### Making all in /usr/local/src/cyrus-imapd-2.0.9/perl
make[1]: Entering directory `/usr/local/src/cyrus-imapd-2.0.9/perl'
(cd imap; \
 SASL_LIB="-lsasl" SASL_INC="" CC="gcc" \
   perl Makefile.PL PREFIX=/usr/local)
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

I worked around this by editing perl/imap/Makefile.pl to specify the library
path

   'LIBS'      => ["$SASL_LIB -L/usr/local/ssl/lib -lssl -lcrypto"],

which seemed to fix the problem.

However I think that something may need fixing here ...

John.

John Holman
Head of Central Servers Team
Queen Mary and Westfield College
London, UK

Reply via email to