Can't locate Cyrus/SIEVE/managesieve.pm
Paul Boven
p.boven at chello.nl
Tue Jul 11 11:08:46 EDT 2006
Hi Alex,
alexp at beautybase.com wrote:
> I have installed Cyrus+SIEVE and i can even see SIEVE running if i telnet
> to the 2000 port, but if i run sieveshell
> I get the following error.
>
> Can't locate Cyrus/SIEVE/managesieve.pm in @INC (@INC contains:
> /usr/lib/perl5/5.8.3/i386-linux-thread-multi /usr/lib/perl5/5.8.3
> /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2
> /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0
> /usr/lib/perl5/site_perl
> /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2
> /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0
> /usr/lib/perl5/vendor_perl .) at /usr/local/bin/sieveshell line 44.
> BEGIN failed--compilation aborted at /usr/local/bin/sieveshell line 44.
>
> but the module is there
>
> locate /managesieve.pm
> /usr/local/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/Cyrus/SIEVE/managesieve.pm
> /usr/local/src/cyrus-imapd-2.2.12/perl/sieve/managesieve/managesieve.pm
> /usr/local/src/cyrus-imapd-2.2.12/perl/sieve/managesieve/blib/lib/Cyrus/SIEVE/managesieve.pm
> /usr/local/src/cyrus-imapd-2.2.13/perl/sieve/managesieve/managesieve.pm
> /usr/local/src/cyrus-imapd-2.2.13/perl/sieve/managesieve/blib/lib/Cyrus/SIEVE/managesieve.pm
> /opt/cyrus-imapd-2.2.12/perl/sieve/managesieve/managesieve.pm
> /opt/cyrus-imapd-2.2.12/perl/sieve/managesieve/blib/lib/Cyrus/SIEVE/managesieve.pm
>
>
>
> Please help. I have wasted 2 days already. Re-installed from scratch the
> whole system number of times. What i am actually is trying to archive is
> to create SIEVE script which will be placing 'users' spam messages (marked
> as a SPAM in the subj. field by SpamAssassin) into user.$user.Spam folder.
The failure-message tells you that sieveshell cannot locate the
managesieve.pm, and also all the places where it looked. So there are
two possible solutions: either tell perl to also look in /usr/local/lib
for managesieve.pl, or to install the perl parts of Cyrus not in
/usr/local but in /usr/lib/perl5. I've opted for the second solution,
and every time I build Cyrus, I apply a simple patch (included).
The only drawback it has is that sieveshell itself will be installed in
/usr/lib/perl5 as well.
The patch can be installed by doing:
cd cyrus-imapd-2.2.12
make distclean
patch -p1 < cyrus-imapd-perl_prefix.patch
./configure <any options>
make
Regards, Paul Boven.
-------------- next part --------------
--- cyrus-imapd-2.2.10/perl/Makefile.in.org Thu Aug 5 18:26:15 2004
+++ cyrus-imapd-2.2.10/perl/Makefile.in Thu Aug 5 18:26:25 2004
@@ -82,7 +82,7 @@
BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
- $(PERL) Makefile.PL PREFIX=$(prefix); \
+ $(PERL) Makefile.PL; \
fi; \
$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
done
--- cyrus-imapd-2.2.10/perl/sieve/Makefile.in.org Thu Aug 5 18:30:19 2004
+++ cyrus-imapd-2.2.10/perl/sieve/Makefile.in Thu Aug 5 18:30:35 2004
@@ -84,7 +84,7 @@
BDB_LIB="$(BDB_LIB)" BDB_INC="$(BDB_INC)" \
OPENSSL_LIB="$(OPENSSL_LIB)" OPENSSL_INC="$(OPENSSL_INC)" \
SASL_LIB="$(SASL_LIB)" SASL_INC="$(SASL_INC)" CC="$(CC)" \
- $(PERL) Makefile.PL PREFIX=$(prefix); \
+ $(PERL) Makefile.PL; \
fi; \
$(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) all) || exit 1; \
done
More information about the Info-cyrus
mailing list