cyradm failure

Jeff Blaine jblaine at mitre.org
Wed Aug 20 13:07:35 EDT 2003


I have solved this by setting SASL_* and OPENSSL_* as referenced
in Makefile.PL to include every -l -L -R option necessary for
linking libsasl2.so into IMAP.so

Your perl/imap/README and perl/imap/Makefile.PL need some work.

README should mention SASL_INC, SASL_LIB, OPENSSL_INC, and OPENSSL_LIB
environment variables referenced in Makefile.PL and describe precisely
what they can and/or should contain.

Makefile.PL is inconsistent and confusing here:

   my $SASL_INC = $ENV{SASL_INC};
   my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2";

   my $OPENSSL_INC = $ENV{OPENSSL_INC};
   my $OPENSSL_LIB = $ENV{OPENSSL_LIB};

combined with line 63:

   'LIBS'  => ["$SASL_LIB $OPENSSL_LIB -lssl -lcrypto"],

Make up your mind how you want to do it :)  I suggest either:

A) Changing:

        my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2";

      to:

        my $SASL_LIB = $ENV{SASL_LIB};

      and adding the appropriate '-lsasl2' on the LIBS line 63 ... OR...

B) Changing:

        my $OPENSSL_LIB = $ENV{OPENSSL_LIB};

      to:

        my $OPENSSL_LIB = $ENV{OPENSSL_LIB} || "-lssl";

Jeff Blaine wrote:
> I read the long thread (with no resolution) about this from
> Jan 2003.
> 
> With our existing AND a brand new fresh/clean Perl 5.6.1
> build for the sake of trying to get this to work, I cannot get
> it to work and cannot make any sense of what the problem is:
> 
> - Solaris 7
> - Cyrus IMAP 2.1.13 (working fine with 100 users - has been
>   for months.  Just can't do any administration yet!)
> - Cyrus IMAP 2.1.14 does the same thing.
> 
> =========================================================================
> cd /cyrus/src/perl-5.6.1
> sh Configure -des -Dprefix=/cyrus -Uinstallusrbinperl
> make
> make install
> =========================================================================
> % cd /cyrus/lib
> % ls
> libacap.a            libdb-4.so@          libsasl2.so.2@
> libcyrus.a           libdb.a@             libsasl2.so.2.0.13*
> libdb-4.1.a          libdb.so@            perl5/
> libdb-4.1.la         libsasl2.la*         sasl2/
> libdb-4.1.so*        libsasl2.so@
> % nm libsasl2.so | grep sasl_client_init
> [521]   |     25256|     372|FUNC |GLOB |0    |10     |sasl_client_init
> %
> =========================================================================
> % cd /cyrus/src/cyrus-imapd-2.1.13/perl/imap
> % SASL_LIB="-L/cyrus/lib -R/cyrus/lib"
> % SASL_INC=-I/cyrus/include
> % OPENSSL_LIB="-L/usr/rcf/lib -R/usr/rcf/lib"
> % OPENSSL_INC=-I/usr/rcf/include
> % perl Makefile.PL
> Checking if your kit is complete...
> Looks good
> Writing Makefile for Cyrus::IMAP
> % make
> ...
> [ Output deleted - success and proper -L, -R, and -I options used ]
> [ as set above! ]
> ...
> % make install
> ...
> [ Output deleted ]
> ...
> % /cyrus/bin/cyradm
> Can't load 
> '/cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/Cyrus/IMAP/IMAP.so' 
> for module Cyrus::IMAP: ld.so.1: perl: fatal: relocation error: file 
> /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/auto/Cyrus/IMAP/IMAP.so: 
> symbol sasl_client_init: referenced symbol not found at 
> /cyrus/lib/perl5/5.6.1/sun4-solaris/DynaLoader.pm line 206.
>  at /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/Cyrus/IMAP/Admin.pm 
> line 44
> Compilation failed in require at 
> /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/Cyrus/IMAP/Admin.pm line 44.
> BEGIN failed--compilation aborted at 
> /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/Cyrus/IMAP/Admin.pm line 44.
> Compilation failed in require at 
> /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/Cyrus/IMAP/Shell.pm line 60.
> BEGIN failed--compilation aborted at 
> /cyrus/lib/perl5/site_perl/5.6.1/sun4-solaris/Cyrus/IMAP/Shell.pm line 60.
> Compilation failed in require.
> BEGIN failed--compilation aborted.
> 
> 
> 
> 





More information about the Info-cyrus mailing list