Mantis - pm_iocompress
Viewing Issue Advanced Details
4683 regular use major always 2011-02-02 10:52 2011-02-03 09:21
smwardle  
bonivart  
normal  
closed  
fixed  
none    
none  
0004683: Since upgrading to version 2.032 Compress::Zlib fails to load
amavisd_new will no longer start, fails trying to load Compress::Zlib

From amavisd_new log:

[ Feb 2 09:50:38 Executing start method ("/var/opt/csw/svc/method/svc-cswamavisdnew start") ]
fetch_modules: error loading required module Compress/Zlib.pm:
  Compress::Raw::Zlib version 2.032 required--this is only version 2.03 at /opt/csw/share/perl/csw/Compress/Zlib.pm line 11.
  BEGIN failed--compilation aborted at /opt/csw/share/perl/csw/Compress/Zlib.pm line 11.
  Compilation failed in require at /opt/csw/sbin/amavisd-new line 197.
ERROR: MISSING REQUIRED BASIC MODULES:
  Compress::Zlib
BEGIN failed--compilation aborted at /opt/csw/sbin/amavisd-new line 237.
[ Feb 2 09:50:39 Method "start" exited with status 9 ]
Issue History
2011-02-02 10:52 smwardle New Issue
2011-02-02 11:08 bonivart Status new => assigned
2011-02-02 11:08 bonivart Assigned To => bonivart
2011-02-02 11:13 bonivart Note Added: 0008756
2011-02-02 11:58 smwardle Note Added: 0008757
2011-02-02 13:42 bonivart Note Added: 0008758
2011-02-02 15:11 smwardle Note Added: 0008759
2011-02-02 16:54 bonivart Note Added: 0008760
2011-02-02 16:56 bonivart Note Added: 0008761
2011-02-02 18:19 smwardle Note Added: 0008764
2011-02-02 18:32 bonivart Note Added: 0008766
2011-02-02 18:51 bonivart Note Added: 0008767
2011-02-03 00:10 smwardle Note Added: 0008768
2011-02-03 09:21 bonivart Note Added: 0008769
2011-02-03 09:21 bonivart Status assigned => closed
2011-02-03 09:21 bonivart Resolution open => fixed

Notes
(0008756)
bonivart   
2011-02-02 11:13   
Can you run this for me?

for i in CSWamavisdnew CSWpmcompresszlib CSWpmiocompress CSWpmcompressrawbz2 CSWpmcompressrawzlib CSWperl; do echo "$i `pkgparam $i VERSION`"; done
(0008757)
smwardle   
2011-02-02 11:58   
CSWamavisdnew 2.6.4,REV=2010.04.16
CSWpmcompresszlib 2.020,REV=2009.08.07
CSWpmiocompress 2.032,REV=2011.01.06
CSWpmcompressrawbz2 2.032,REV=2011.01.06
CSWpmcompressrawzlib 2.032,REV=2011.01.06
CSWperl 5.10.1,REV=2011.01.15
(0008758)
bonivart   
2011-02-02 13:42   
Ok, you have the latest packages. Please check which versions are really found with this script:


#!/opt/csw/bin/perl

use strict;

foreach my $module (@ARGV)
{
  eval "require $module";
  if ($@) {
    printf("%-30s: n/a\n", $module, $module->VERSION);
  } else {
    printf("%-30s: %s\n", $module, $module->VERSION);
  }
}

Then run it with:

# ./perlmodver Compress::Zlib IO::Compress::Base::Common Compress::Raw::Zlib IO::Compress::Gzip IO::Uncompress::Gunzip

I get:

Compress::Zlib : 2.032
IO::Compress::Base::Common : 2.032
Compress::Raw::Zlib : 2.032
IO::Compress::Gzip : 2.032
IO::Uncompress::Gunzip : 2.032

Since Amavis claims to get only 2.03 for Compress::Raw::Zlib I'm wondering if you have something earlier in your INC that is being picked up. Any CPAN stuff?
(0008759)
smwardle   
2011-02-02 15:11   
I removed all CSWpm packages and CSWperl.
/opt/csw/lib/perl and /opt/csw/share/perl were deleted.
I reinstalled CSWperl and CSWpmcompresszlib and ran the script:

Compress::Zlib : n/a
IO::Compress::Base::Common : 2.032
Compress::Raw::Zlib : 2.03
IO::Compress::Gzip : n/a
IO::Uncompress::Gunzip : n/a

These are the Zlib modules which got installed with sizes and dates:

42467 Jan 5 23:49 /opt/csw/lib/perl/5.10.1/Compress/Raw/Zlib.pm
41608 Jan 5 23:49 /opt/csw/lib/perl/5.10.1/Compress/Zlib.pm
42585 Jul 24 2010 /opt/csw/lib/perl/csw/Compress/Raw/Zlib.pm
14979 Jan 5 23:49 /opt/csw/share/perl/5.10.1/IO/Zlib.pm
42484 Jan 4 11:13 /opt/csw/share/perl/csw/Compress/Zlib.pm
(0008760)
bonivart   
2011-02-02 16:54   
Are you installing with dependencies or just single packages? CSWpmcompresszlib is deprecated and just a stub which depends on CSWpmiocompress which in turn pulls in CSWpmcompressrawbz2 and CSWpmcompressrawzlib.

If you're using pkgutil you should get all these packages at once if you install e.g. CSWpmiocompress which is the one Amavis wants. Now you seem to lack some packages/modules.
(0008761)
bonivart   
2011-02-02 16:56   
BTW, I'm usually on IRC as well if you need faster help. (#opencsw on Freenode)
(0008764)
smwardle   
2011-02-02 18:19   
CSWamavisdnew and the dependencies were installed with pkgutil -i.
Something is amiss with CSWpmcompressrawzlib

# pkginfo -l CSWpmcompressrawzlib
   PKGINST: CSWpmcompressrawzlib
      NAME: pm_compressrawzlib - Compress-Raw-Zlib: Low-Level Interface to zlib compression library
  CATEGORY: application
      ARCH: sparc
   VERSION: 2.032,REV=2011.01.06
   BASEDIR: /
    VENDOR: http://search.cpan.org/~pmqs/Compress-Raw-Zlib [^] packaged for CSW by Peter Bonivart
    PSTAMP: bonivart@testing9s-20110106223813
  INSTDATE: Feb 02 2011 17:15
   HOTLINE: http://www.opencsw.org/bugtrack/ [^]
     EMAIL: bonivart@opencsw.org
    STATUS: completely installed
     FILES: 17 installed pathnames
                   4 shared pathnames
                  12 directories
                   1 executables
                 509 blocks used (approx)

# strings /opt/csw/lib/perl/csw/Compress/Raw/Zlib.pm | grep "2.03"
$VERSION = '2.030';

# strings /opt/csw/lib/perl/csw/auto/Compress/Raw/Zlib/Zlib.so | grep "2.03"
2.030
(0008766)
bonivart   
2011-02-02 18:32   
You're right! I'm was on i386 but when I tried on Sparc I also got 2.030. I'll rebuild the package immediately to see what happens.
(0008767)
bonivart   
2011-02-02 18:51   
Take a look here: http://buildfarm.opencsw.org/experimental.html#bonivart [^]

This should upgrade your package:

# pkgutil -t http://buildfarm.opencsw.org/opencsw/experimental/bonivart [^] -u CSWpmcompressrawzlib

Can you verify that you now have 2.032 and that it solves your Amavis problem?
(0008768)
smwardle   
2011-02-03 00:10   
Great. The rebuilt version fixes the problem. Thanks.
(0008769)
bonivart   
2011-02-03 09:21   
Thank you for the help with debugging.

Submitting package for release.