After system update yesterday, Openwebmail now gives an error:
Undefined subroutine &Compress::Zlib::memGzip called at /var/www/cgi-bin/openwebmail/shares/ow-shared.pl line 1175.
I tried to do
perl -MCPAN -e shell install Compress::Zlib
But it says Compress::Zlib is up-to-date. What do to?? I cannot find an answer by googling.
- Jussi
Ok, more information. I have Openwebmail 2.52. I tried to install 2.53 with yum, and get the following. This points to what the conflict is about. But I still don't know how to fix this. - Jussi
Installing: openwebmail i386 2.53-3 openwebmail 2.4 M Installing for dependencies: openwebmail-data i386 2.53-3 openwebmail 7.3 M perl-Compress-Zlib noarch 2.015-1.el5.rf rpmforge 34 k perl-suidperl i386 4:5.8.8-32.el5_5.2 updates 62 k
Transaction Summary =========================================================================================================== Install 4 Package(s) Upgrade 0 Package(s)
Total size: 9.9 M Total download size: 62 k Is this ok [y/N]: y Downloading Packages: perl-suidperl-5.8.8-32.el5_5.2.i386.rpm | 62 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test
Transaction Check Error: file /usr/lib/perl5/vendor_perl/5.8.8/Compress/Zlib.pm from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch file /usr/share/man/man3/Compress::Zlib.3pm.gz from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch
It seems Openwebmail is using Perl-Compress-Zlib from rpmforce, but in Centos this is obsoleted by Perl-IO-Compress, and there is a conflict.
This I got when I tried to install the rpmforce package:
[root@mail log]# yum install perl-Compress-Zlib Loaded plugins: fastestmirror, installonlyn Loading mirror speeds from cached hostfile * addons: ftp.funet.fi * base: ftp.funet.fi * extras: ftp.funet.fi * rpmforge: wftp.tu-chemnitz.de * updates: ftp.funet.fi Setting up Install Process Package perl-Compress-Zlib is obsoleted by perl-IO-Compress, trying to install perl-IO-Compress-2.030-2.el5.rf.noarch instead Package perl-IO-Compress-2.030-2.el5.rf.noarch already installed and latest version Nothing to do
- Jussi
On 12.10.2010 9.38, Jussi Hirvi wrote:
Ok, more information. I have Openwebmail 2.52. I tried to install 2.53 with yum, and get the following. This points to what the conflict is about. But I still don't know how to fix this.
- Jussi
Installing: openwebmail i386 2.53-3 openwebmail 2.4 M Installing for dependencies: openwebmail-data i386 2.53-3 openwebmail 7.3 M perl-Compress-Zlib noarch 2.015-1.el5.rf rpmforge 34 k perl-suidperl i386 4:5.8.8-32.el5_5.2 updates 62 k
Transaction Summary
Install 4 Package(s) Upgrade 0 Package(s)
Total size: 9.9 M Total download size: 62 k Is this ok [y/N]: y Downloading Packages: perl-suidperl-5.8.8-32.el5_5.2.i386.rpm | 62 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test
Transaction Check Error: file /usr/lib/perl5/vendor_perl/5.8.8/Compress/Zlib.pm from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch file /usr/share/man/man3/Compress::Zlib.3pm.gz from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch
On 10/11/10 11:51 PM, Jussi Hirvi wrote:
It seems Openwebmail is using Perl-Compress-Zlib from rpmforce, but in Centos this is obsoleted by Perl-IO-Compress, and there is a conflict.
This I got when I tried to install the rpmforce package:
[root@mail log]# yum install perl-Compress-Zlib Loaded plugins: fastestmirror, installonlyn Loading mirror speeds from cached hostfile
- addons: ftp.funet.fi
- base: ftp.funet.fi
- extras: ftp.funet.fi
- rpmforge: wftp.tu-chemnitz.de
- updates: ftp.funet.fi
Setting up Install Process Package perl-Compress-Zlib is obsoleted by perl-IO-Compress, trying to install perl-IO-Compress-2.030-2.el5.rf.noarch instead Package perl-IO-Compress-2.030-2.el5.rf.noarch already installed and latest version Nothing to do
In that case, it depends on how brave/desperate you are ;)
First off... You had better have a backup of your system. If you don't already, you've learned a valuable lesson, but still get one RIGHT NOW.
Is there anything on the Openwebmail forums/mailing lists? I can't imagine you are the only one facing this.
Next, you could try removing the conflict or getting the required Zlib package (rpm or sourced from cpan) and force install, but I don't really recommend. I don't use Openwebmail, so I can't speak to the requirements there.
Good luck, ~Sean
Transaction Check Error: file /usr/lib/perl5/vendor_perl/5.8.8/Compress/Zlib.pm from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch file /usr/share/man/man3/Compress::Zlib.3pm.gz from install of perl-Compress-Zlib-2.015-1.el5.rf.noarch conflicts with file from package perl-IO-Compress-2.030-2.el5.rf.noarch
Not sure if this will help... Have you tried updating perl-IO-Compress?
On 12.10.2010 9.52, Sean Hart wrote:
Not sure if this will help... Have you tried updating perl-IO-Compress?
It is up-to-date. The whole problem started when I did "yum update" yesterday.
- Jussi
Dne 12.10.2010 9:03, Jussi Hirvi napsal(a):
On 12.10.2010 9.52, Sean Hart wrote:
Not sure if this will help... Have you tried updating perl-IO-Compress?
It is up-to-date. The whole problem started when I did "yum update" yesterday.
- Jussi
Try removing perl-IO-Compress-Zlib and install only perl-IO-Compress and perl-Compress-Raw-Zlib. DH
On 12.10.2010 10.15, David Hrbáč wrote:
Try removing perl-IO-Compress-Zlib and install only perl-IO-Compress and perl-Compress-Raw-Zlib.
Hm, I don't know what you mean. That seems to be what I have already.
- perl-IO-Compress-Zlib is not installed (it seems to be from dries repo, and obsoleted by perl-IO-Compress) - perl-IO-Compress is already installed (2.030) - perl-Compress-Raw-Zlib is already installed (2.030)
- Jussi
Ok, I found a fix. I had to learn a little perl for that. :-)
The offending file was /var/www/cgi-bin/openwebmail/shared/ow-shared.pm
In that file, at the top of subroutine httpprint:
# ADDED: use IO::Compress::Gzip qw(gzip $GzipError) ;
Further down in that subroutine, around line 1175:
# REMOVED: my $zhtml=Compress::Zlib::memGzip(join('',@{$r_htmls})); # ADDED my $zhtml; my $input = join('',@{$r_htmls}); gzip $input => $zhtml or die "gzip failed: $GzipError\n";
I will do the same fix to the other occurrences, and trust that it will work!!
Many thanks to all, especially David!
- Jussi
As an aftermath to my recent Openwebmail problem, I would like to see a couple of outputs of the following:
locate Zlib.pm
Preferably on mail servers, where you have amavisd-new installed.
I think I have too many copies of this, maybe because some time ago I did perl updates manually (perl -MCPAN -e shell), because it seemed at that time that yum did not give me perl updates.
Anyway, my output is:
/root/.cpan/build/Compress-Raw-Zlib-2.030/blib/lib/Compress/Raw/Zlib.pm /root/.cpan/build/Compress-Raw-Zlib-2.030/lib/Compress/Raw/Zlib.pm /root/.cpan/build/IO-Compress-2.021/blib/lib/Compress/Zlib.pm /root/.cpan/build/IO-Compress-2.021/lib/Compress/Zlib.pm /root/.cpan/build/IO-Compress-2.030/blib/lib/Compress/Zlib.pm /root/.cpan/build/IO-Compress-2.030/lib/Compress/Zlib.pm /usr/lib/perl5/site_perl/5.8.8/Compress/Zlib.pm /usr/lib/perl5/site_perl/5.8.8/IO/Zlib.pm /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Compress/Raw/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.8/Compress/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.8/IO/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/Compress/Raw/Zlib.pm
- Jussi
Dne 14.10.2010 8:17, Jussi Hirvi napsal(a):
locate Zlib.pm
C5 x86_64 /usr/lib/perl5/vendor_perl/5.8.8/Compress/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.8/IO/Zlib.pm /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/Compress/Raw/Zlib.pm
locate Zlib.pm | xargs rpm -qf perl-IO-Compress-2.030-2.el5.rf perl-IO-Zlib-1.10-1.el5.rf perl-Compress-Raw-Zlib-2.030-1.el5.rf
C4 i386 /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/Compress/Raw/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.5/IO/Zlib.pm /usr/lib/perl5/vendor_perl/5.8.5/Compress/Zlib.pm
locate Zlib.pm | xargs rpm -qf perl-Compress-Raw-Zlib-2.024-1.el4.rf perl-IO-Zlib-1.10-1.el4.rf perl-IO-Compress-2.024-1.el4.rf
DH
Dne 12.10.2010 8:28, Jussi Hirvi napsal(a):
After system update yesterday, Openwebmail now gives an error:
Undefined subroutine &Compress::Zlib::memGzip called at /var/www/cgi-bin/openwebmail/shares/ow-shared.pl line 1175.
I tried to do
perl -MCPAN -e shell install Compress::Zlib
But it says Compress::Zlib is up-to-date. What do to?? I cannot find an answer by googling.
- Jussi
Hi, what's the uname -a and rpm -q perl-Compress-Raw-Zlib perl-IO-Compress perl-IO-Compress-Zlib perl.
I have just created testing pl script with Compress::Zlib::memGzip running smoothly. DH
Thanks. Too bad I cannot speak Perl.
Here's the info:
[root@mail]# uname -a Linux mail.greenspot.fi 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:09:20 EDT 2010 i686 i686 i386 GNU/Linux
[root@mail]# rpm -q perl-Compress-Raw-Zlib perl-IO-Compress perl-IO-Compress-Zlib perl perl-Compress-Raw-Zlib-2.030-1.el5.rf perl-IO-Compress-2.030-2.el5.rf package perl-IO-Compress-Zlib is not installed perl-5.8.8-32.el5_5.2 [root@mail tiina]#
This could be caused by something in Openwebmail. I found info that whenever memGzip is not successful, it returns undef - this probabvly means "undefined subroutine", which is what Openwebmail now tells me.
http://search.cpan.org/~pmqs/IO-Compress-2.030/lib/Compress/Zlib.pm
Maybe this will help - here is the offending Openwebmail function:
sub httpprint { my ($r_headers, $r_htmls)=@_; if (is_http_compression_enabled()) { my $zhtml=Compress::Zlib::memGzip(join('',@{$r_htmls})); if ($zhtml ne '') { print httpheader(@{$r_headers}, '-Content-Encoding'=>'gzip', '-Vary'=>'Accept-Encoding', '-Content-Length'=>length($zhtml)), $zhtml; return; } } my $len; foreach (@{$r_htmls}) { $len+=length($_); } print httpheader(@{$r_headers}, '-Content-Length'=>$len), @{$r_htmls}; return; }
- Jussi
On 12.10.2010 10.01, David Hrbáč wrote:
Dne 12.10.2010 8:28, Jussi Hirvi napsal(a):
After system update yesterday, Openwebmail now gives an error:
Undefined subroutine&Compress::Zlib::memGzip called at /var/www/cgi-bin/openwebmail/shares/ow-shared.pl line 1175.
I tried to do
perl -MCPAN -e shell install Compress::Zlib
But it says Compress::Zlib is up-to-date. What do to?? I cannot find an answer by googling.
- Jussi
Hi, what's the uname -a and rpm -q perl-Compress-Raw-Zlib perl-IO-Compress perl-IO-Compress-Zlib perl.
I have just created testing pl script with Compress::Zlib::memGzip running smoothly. DH _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Dne 12.10.2010 9:10, Jussi Hirvi napsal(a):
sub httpprint { my ($r_headers, $r_htmls)=@_; if (is_http_compression_enabled()) { my $zhtml=Compress::Zlib::memGzip(join('',@{$r_htmls})); if ($zhtml ne '') { print httpheader(@{$r_headers}, '-Content-Encoding'=>'gzip', '-Vary'=>'Accept-Encoding', '-Content-Length'=>length($zhtml)), $zhtml; return; } } my $len; foreach (@{$r_htmls}) { $len+=length($_); } print httpheader(@{$r_headers}, '-Content-Length'=>$len), @{$r_htmls}; return; }
1) Does it include: use Compress::Zlib; 2) What repo are you using for Openwebmail? 3) You can always use temp hack - disbale gzip - "is_http_compression_enabled()".... DH
On 12.10.2010 10.29, David Hrbáč wrote:
- Does it include:
use Compress::Zlib; 2) What repo are you using for Openwebmail? 3) You can always use temp hack - disbale gzip - "is_http_compression_enabled()"....
1) No, this file, /var/www/cgi-bin/openwebmail/shares/ow-shared.pl does not include use Compress::Zlib. There are a lot of "use" declarations, some referring to other files...
2) the repo was openwebmail
3) If you want to take a look, see the archive at
http://www.greenspot.fi/postilaatikko/
It is a zipped version of /var/www/cgi-bin/openwebmail
Could you give a syntax example of > is_http_compression_enabled()
Would this for example be right:
my $zhtml=is_http_compression_enabled(Compress::Zlib::memGzip(join('',@{$r_htmls})));
- Jussi