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