You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@spamassassin.apache.org by Geoff Soper <ge...@alphaworks.co.uk> on 2005/01/25 11:07:58 UTC

Perl problems with getting SA to run

I'm having a problem running SpamAssassin, it's not finding the
Digest::SHA1 module. I've successfully installed this modules locally in
/home/alphaworks/perl_modules:

bash-2.05a$ find /home/alphaworks/perl_modules -name 'SHA1.pm' -print
/home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/Digest/SHA1.pm

and have added this path to the $PERL5LIB environment variable:

bash-2.05a$ export
PERL5LIB=/home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/

Perl seems happy with this:

bash-2.05a$ perl -MDigest::SHA1 -e 1

bash-2.05a$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux
    uname='linux bugs.devel.redhat.com 2.4.21-1.1931.2.393.entsmp #1 smp
thu aug 14 14:47:21 edt 2003 i686 unknown '
    config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc
-Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr
-Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr
-Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles
-Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow
-Di_syslog -Dman3ext=3pm -Dinc_version_list=5.6.0/i386-linux 5.6.0'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
    optimize='-O2 -march=i386 -mcpu=i686',
    cppflags='-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.3 2.96-113)',
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
    libc=/lib/libc-2.2.5.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options:
  Built under linux
  Compiled at Aug 18 2003 16:08:31
  %ENV:
    PERL5LIB="/home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/"
  @INC:
    /home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/
    /usr/lib/perl5/5.6.1/i386-linux
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/i386-linux
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl/5.6.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
    /usr/lib/perl5/vendor_perl/5.6.1
    /usr/lib/perl5/vendor_perl
    .

I'm happy the right Perl is being used:

bash-2.05a$ which perl
/usr/bin/perl

But when I run SpamAssassin Digest::SHAI isn't found and
/home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/
doesn't seem to be in @INC :

bash-2.05a$ /home/alphaworks/spamassassin/3.0.2/bin/spamassassin
Can't locate Digest/SHA1.pm in @INC (@INC contains:
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/i386-linux
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1
/usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1
/usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.6.1/i386-linux
/usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl) at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/EvalTests.pm
line 33.
BEGIN failed--compilation aborted at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/EvalTests.pm
line 33.
Compilation failed in require at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/PerMsgStatus.pm
line 56.
BEGIN failed--compilation aborted at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin/PerMsgStatus.pm
line 56.
Compilation failed in require at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm
line 74.
BEGIN failed--compilation aborted at
/home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/Mail/SpamAssassin.pm
line 74.
Compilation failed in require at
/home/alphaworks/spamassassin/3.0.2/bin/spamassassin line 80.
BEGIN failed--compilation aborted at
/home/alphaworks/spamassassin/3.0.2/bin/spamassassin line 80.

Jon Drukman has been helping me with this but I thought I'd open it up a
little. Any help or suggestions will be gratefully received!

Thanks,
Geoff


Re: Perl problems with getting SA to run

Posted by Geoff Soper <ge...@alphaworks.co.uk>.
> Geoff Soper writes:
>> bash-2.05a$ perl -V
>> Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
> ..............
>>   @INC:
>>     /home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/
>>     /usr/lib/perl5/5.6.1/i386-linux
>>     /usr/lib/perl5/5.6.1
>>     /usr/lib/perl5/site_perl/5.6.1/i386-linux
>>     /usr/lib/perl5/site_perl/5.6.1
>>     /usr/lib/perl5/site_perl/5.6.0
>>     /usr/lib/perl5/site_perl
>>     /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
>>     /usr/lib/perl5/vendor_perl/5.6.1
>>     /usr/lib/perl5/vendor_perl
>
> Note the first line.  Now check this:
>
>> I'm happy the right Perl is being used:
>>
>> bash-2.05a$ which perl
>> /usr/bin/perl
>>
>> But when I run SpamAssassin Digest::SHAI isn't found and
>> /home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/
>> doesn't seem to be in @INC :
>>
>> bash-2.05a$ /home/alphaworks/spamassassin/3.0.2/bin/spamassassin
>> Can't locate Digest/SHA1.pm in @INC (@INC contains:
>> /home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1/i386-linux
>> /home/alphaworks/spamassassin/3.0.2/lib/perl5/site_perl/5.6.1
>> /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1
>> /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1
>> /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl
>> /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
>> /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl)
>
> note: no
> /home/alphaworks/perl_modules/lib/perl5/site_perl/5.6.1/i386-linux/
> listed there.  that's the problem.

Forgive me if I've missed your point but this is exactly what I'm pointing
out above? I see the problem but don't see why it's happening.

Thanks,
Geoff