Perl upgrade broke cyradm
Nikola Milutinovic
Nikola.Milutinovic at ev.co.yu
Tue Mar 8 03:13:43 EST 2005
Doug Koobs wrote:
>I recently upgraded my installation of Perl from 5.8.0 (in
>/usr/lib/perl5) to 5.8.6 (in /usr/local/lib/perl5) using CPAN. I didn't
>catch the difference in location when I installed... Now, when I try to
>run the command "cyradm --user cyrus --auth login localhost" I got the
>error:
>
>******************************************************
>Can't locate Cyrus/IMAP/Shell.pm in @INC (@INC contains:
>/usr/local/lib/perl5/5.8.6/i686-linux /usr/local/lib/perl5/5.8.6
>/usr/local/lib/perl5/site_perl/5.8.6/i686-linux
>/usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl .).
>BEGIN failed--compilation aborted
>
>
In my oppinion, the best way to avoid or at least minimize this kind of
hassle, is to configure Cyrus build process to place Perl modules some
place tied to the Cyrus version, rather than Perl version.
I build my own packages on Tru64 UNIX and I follow old DEC's philosphy
of package layout. All package files are under
/usr/opt/Cyrus-IMAP4-${VERSION}, all runtame changable files (mailboxes,
config, ...) are unde /var/opt/Cyrus-IMAP4-${VERSION} and
/opt/Cyrus-IMAP4-${VERSION} holds startup scripts. Installation routines
make needed symbolic links.
This setup enables me to instruct Cyrus-Perl to use
/usr/opt/Cyrus-IMAP4-${VERSION} as installation prefix, so all Perl
files are in /usr/opt/Cyrus-IMAP4-${VERSION}/lib. The only thing I need
to do after the initial, pre-package, install is to add the "-I..." to
cyradm script.
I'm not sure how this idea would be implemented in Linux environment,
but it is a good way to deal with this problem. For what it's worth, it
works for me on Tru64.
Nix.
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list