You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@spamassassin.apache.org by bu...@bugzilla.spamassassin.org on 2014/05/03 01:24:45 UTC

[Bug 7040] New: sa-compile installs rules into DATADIR but SA tries to load from LOCALSTATEDIR

https://issues.apache.org/SpamAssassin/show_bug.cgi?id=7040

            Bug ID: 7040
           Summary: sa-compile installs rules into DATADIR but SA tries to
                    load from LOCALSTATEDIR
           Product: Spamassassin
           Version: 3.4.0
          Hardware: PC
                OS: Mac OS X
            Status: NEW
          Severity: major
          Priority: P2
         Component: sa-compile
          Assignee: dev@spamassassin.apache.org
          Reporter: quanah@zimbra.com

After building rules with sa-compile, SA won't load.

cd /tmp/.spamassassin17386IZdYrdtmp
reading bases_body_0.in
cd Mail-SpamAssassin-CompiledRegexps-body_0
re2c -i -b -o scanner1.c scanner1.re
re2c -i -b -o scanner2.c scanner2.re
re2c -i -b -o scanner3.c scanner3.re
re2c -i -b -o scanner4.c scanner4.re
re2c -i -b -o scanner5.c scanner5.re
re2c -i -b -o scanner6.c scanner6.re
/usr/bin/perl Makefile.PL PREFIX=/tmp/.spamassassin17386IZdYrdtmp/ignored
INSTALLSITEARCH=/opt/zimbra/conf/spamassassin
Generating a Unix-style Makefile
Writing Makefile for Mail::SpamAssassin::CompiledRegexps::body_0
Writing MYMETA.yml and MYMETA.json
make
cp body_0.pm blib/lib/Mail/SpamAssassin/CompiledRegexps/body_0.pm
Running Mkbootstrap for Mail::SpamAssassin::CompiledRegexps::body_0 ()
chmod 644 body_0.bs
/usr/bin/perl /opt/zimbra/zimbramon/lib/ExtUtils/xsubpp  -typemap
/usr/share/perl5/ExtUtils/typemap  body_0.xs > body_0.xsc && mv body_0.xsc
body_0.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
body_0.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner1.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner2.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner3.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner4.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner5.c
gcc -c   -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  
-DVERSION=\"1.0\" -DXS_VERSION=\"1.0\" -fPIC "-I/usr/lib64/perl5/CORE"  
scanner6.c
rm -f blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so
gcc  -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic body_0.o
scanner1.o scanner2.o scanner3.o scanner4.o scanner5.o scanner6.o  -o
blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so    \
                \

chmod 755 blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so
/usr/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- body_0.bs
blib/arch/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.bs 644
Manifying blib/man3/Mail::SpamAssassin::CompiledRegexps::body_0.3pm
make install
Running Mkbootstrap for Mail::SpamAssassin::CompiledRegexps::body_0 ()
chmod 644 body_0.bs
Files found in blib/arch: installing files in blib/lib into architecture
dependent library tree
Installing
/opt/zimbra/conf/spamassassin/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so
Installing
/tmp/.spamassassin17386IZdYrdtmp/ignored/share/man/man3/Mail::SpamAssassin::CompiledRegexps::body_0.3pm
Appending installation info to
/tmp/.spamassassin17386IZdYrdtmp/ignored/lib64/perl5/perllocal.pod
cp /tmp/.spamassassin17386IZdYrdtmp/bases_body_0.pl
/opt/zimbra/conf/spamassassin/bases_body_0.pl
cd /
rm -rf /tmp/.spamassassin17386IZdYrdtmp


When we load, we get the following error:

(!)_DIE: Can't locate Mail/SpamAssassin/CompiledRegexps/body_0.pm in @INC (@INC
contains: /opt/zimbra/data/spamassassin/compiled/5.010/3.004000
/opt/zimbra/data/spamassassin/compiled/5.010/3.004000/auto
/opt/zimbra/zimbramon/lib/x86_64-linux-thread-multi /opt/zimbra/zimbramon/lib
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at (eval 1096)
line 1.

Can't locate Mail/SpamAssassin/CompiledRegexps/body_0.pm in @INC (@INC
contains: /opt/zimbra/data/spamassassin/compiled/5.010/3.004000
/opt/zimbra/data/spamassassin/compiled/5.010/3.004000/auto
/opt/zimbra/zimbramon/lib/x86_64-linux-thread-multi /opt/zimbra/zimbramon/lib
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at (eval 1096)
line 1.\nBEGIN failed--compilation aborted at (eval 1096) line 1.

Note that the @INC contains /opt/zimbra/data/spamassassin, which is the
LOCALSTATEDIR option SA was compiled with.  However, this is *not* where
sa-compile installed to:


[zimbra@zre-ldap003 spamassassin]$ pwd
/opt/zimbra/conf/spamassassin
[zimbra@zre-ldap003 spamassassin]$ ls -R Mail/
Mail/:
SpamAssassin

Mail/SpamAssassin:
CompiledRegexps

Mail/SpamAssassin/CompiledRegexps:
body_0.pm
[zimbra@zre-ldap003 spamassassin]$ ls -l bases_body_0.pl
-rw-r-----. 1 zimbra zimbra 139924 May  2 16:17 bases_body_0.pl

This seems to be a bug in either sa-compile or the plugin, in that they do not
agree on the path for where the rules should be installed at.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[Bug 7040] sa-compile installs rules into DATADIR but SA tries to load from LOCALSTATEDIR

Posted by bu...@bugzilla.spamassassin.org.
https://issues.apache.org/SpamAssassin/show_bug.cgi?id=7040

Quanah Gibson-Mount <qu...@zimbra.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |quanah@zimbra.com
         Resolution|---                         |INVALID

--- Comment #1 from Quanah Gibson-Mount <qu...@zimbra.com> ---
Hm, this appears to be because I passed in --updatedir to sa-compile based on
old instructions which I think are invalid, never mind. ;)

-- 
You are receiving this mail because:
You are the assignee for the bug.