Thoughts on the age-old cyradm thingie
Christian Schulte
cs at schulte.it
Thu Nov 21 12:59:16 EST 2002
Hello,
this is a bit specific to my system but I think it is worse to mention here:
I am using the 2.2 branch out of cvs. The configure script there
contains an option --with-perl which I specified as:
--with-perl=/usr/local/perl-5.8.0/bin/perl
I also specify --cyrus-prefix=/usr/local/cyrus2-cvs
I have two perl installations on my system. One resides in /usr/perl5
(Solaris8-ix86) which is actually a bit broken so that I had to install
a new perl into /usr/local/perl-5.8.0 from source.
To get everythink working I had to do the following things:
In all Makefile.PL files I had to add the two libraries -lrt and
-ldb-3.2 (which is the berkeley version which is used for the whole
cyrus installation) like:
'LIBS' => ["$SASL_LIB $OPENSSL_LIB -lssl -lcrypto -ldb-3.2 -lrt"]
I do not quite understand why -lssl and -lcrypto are defined separately
because of $OPENSSL_LIB !
To get cyradm working I had to also tweak the cyradm shellscript as well:
case "x$BASH_VERSION" in
x) exec /usr/local/perl-5.8.0/bin/perl
-I/usr/local/cyrus2/lib/site_perl/5.8.0/i86pc-solaris
-MCyrus::IMAP::Shell -e shell -- ${1+"$@"} ;;
*) exec /usr/local/perl-5.8.0/bin/perl
-I/usr/local/cyrus2/lib/site_perl/5.8.0/i86pc-solaris
-MCyrus::IMAP::Shell -e shell -- "$@" ;;
esac
which before looked like:
case "x$BASH_VERSION" in
x) exec perl -MCyrus::IMAP::Shell -e shell -- ${1+"$@"} ;;
*) exec perl -MCyrus::IMAP::Shell -e shell -- "$@" ;;
esac
and caused cyradm to invoke the broken perl and not the perl specified
in --with-perl !
I would suggest doing this with the --with-perl option! I thought that
this would be done automatically but it actually does not. The
--with-perl option only has an effect on the compilation process where
the MakeMaker gets called with the correct perl binary in
/usr/local/perl-5.8.0 ! That all was a bit confusing for me but after
all everything works as expected and I think that it is great to have
the perl-dependent stuff under cyrus-prefix as well.
The perl dependent stuff gets installed into cyrus-prefix/lib and that
is where it should I think!
>ls -R /usr/local/cyrus2-cvs/lib/
/usr/local/cyrus2-cvs/lib/:
5.8.0 libcyrus.a site_perl
/usr/local/cyrus2-cvs/lib/5.8.0:
i86pc-solaris
/usr/local/cyrus2-cvs/lib/5.8.0/i86pc-solaris:
/usr/local/cyrus2-cvs/lib/site_perl:
5.8.0
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0:
i86pc-solaris
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris:
auto Cyrus perllocal.pod
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/auto:
Cyrus
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/auto/Cyrus:
IMAP SIEVE
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/auto/Cyrus/IMAP:
IMAP.bs IMAP.so
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/auto/Cyrus/SIEVE:
managesieve
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/auto/Cyrus/SIEVE/managesieve:
managesieve.bs managesieve.so
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/Cyrus:
IMAP IMAP.pm SIEVE
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/Cyrus/IMAP:
Admin.pm IMSP.pm Shell.pm
/usr/local/cyrus2-cvs/lib/site_perl/5.8.0/i86pc-solaris/Cyrus/SIEVE:
managesieve.pm
More information about the Info-cyrus
mailing list