latest Perl upgrade broke parts of Perl
The recent Perl security upgrades for 9.0 broke parts of Perl it seems. f.i. I can't install (make test) Spamassassin 3.0.2 because it cannot find module Storable and can't start spamd. When trying to install modules via CPAN I get this for each package I try: Subroutine CLONE redefined at /usr/lib/perl5/5.8.1/i586-linux-thread-multi/Storable.pm line 50. Subroutine retrieve_fd redefined at /usr/lib/perl5/5.8.1/i586-linux-thread-multi/Storable.pm line 56. In general it seems Perl cannot determine anymore that some modules are installed. F.i. when trying to upgrade the CPAN module it first says Digest::MD5 disabled because not installed and at the end it will say Digest::MD5 is up-to-date and when I try to upgrade it it will say the same. And at the end I get error "Undefined subroutine &Digest::base::new called at /usr/lib/perl5/5.8.1/CPAN.pm line 4344." I tried to make test Spamassassin 3.0.1 on the same system which had installed successfully back then: same problem. Then I tried to install Spamassassin 3.02 on an almost identical system which doesn't have the Perl upgrades yet: works. So, it very much seems that upgrade broke important parts of Perl. Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
Hi, On Saturday 19 February 2005 22:53, Kai Schaetzl wrote:
So, it very much seems that upgrade broke important parts of Perl.
MeToo[tm]: I had difficulties with a running Request Tracker[1] installation on a SuSE 9.1 installation after the perl update. The error message is similar to yours: Undefined subroutine &Scalar::Util::weaken called at ... Regards, Bastian [1] http://www.bestpractical.com/ -- Bastian Friedrich bastian@bastian-friedrich.de Adress & Fon available on my HP http://www.bastian-friedrich.de/ \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\ \ It's okay to be ugly...but aren't you overdoing it?
Bastian Friedrich wrote on Sat, 19 Feb 2005 23:15:33 +0100:
Undefined subroutine &Scalar::Util::weaken called at ...
See my other message, you can cure this with a force install of the module which contains that function, Time::Scalar? Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
Hi, On Sunday 20 February 2005 14:31, Kai Schaetzl wrote:
Bastian Friedrich wrote on Sat, 19 Feb 2005 23:15:33 +0100:
Undefined subroutine &Scalar::Util::weaken called at ...
See my other message, you can cure this with a force install of the module which contains that function, Time::Scalar?
Thx for your suggestion. In fact, RT is working fine again :)) (The module is simply called "Scalar::Util"). Still, I feel that the perl upgrade broke things; Scalar::Util is part of the default perl installation; a "rpm -V perl" did not report any changes to any files in the package. Thx again, Bastian -- Bastian Friedrich bastian@bastian-friedrich.de Adress & Fon available on my HP http://www.bastian-friedrich.de/ \~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\ \ This mind intentionally left blank.
Bastian Friedrich wrote on Sun, 20 Feb 2005 15:11:34 +0100:
a "rpm -V perl" did not report any changes to any files in the package.
It reports only changes to what's in the rpm packlist. So, now that you forced install Scalar::Util it should list files belonging to it. Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
I compared /usr/lib/perl5/5.8.1/i586-linux-thread-multi/auto/Storable/ with a new system where I applied the SuSE updates first and then used CPAN to install any remaining prerequisites for sa (and was able to make tests without problems). It turns out that the Storable.so (and other .so files) is different. Seems that newer Perl versions install compiled API libraries as .so files and don't use the .pm stuff anymore. That's obviously good for performance. It seems the SuSE (or any other vendor Perl update) just contains a lot of .so files and overwrites all those coming with the standard distribution. Some of them are then not "in sync" probably with some CPAN modules or whatever else. This can either be cured by getting the respective .so file from a working system or do a "force install" in the CPAN shell which forces a reinstall and updates the .so file to a version that "fits". (There doesn't seem to be a method to uninstall Perl modules?) This means that whenever a vendor provides a Perl update the chance that some of your installed modules get hosed is great. Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
list-admin, could you please remove this <suse-security@kuschel.homelinux.net> I get multiple bounces each time I post to the list. Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
On Sun, Feb 20, 2005 at 04:31:51PM +0100, Kai Schaetzl wrote:
list-admin, could you please remove this <suse-security@kuschel.homelinux.net> I get multiple bounces each time I post to the list.
I dropped him. Ciao, Marcus
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Kai Schaetzl schrieb: | I compared | /usr/lib/perl5/5.8.1/i586-linux-thread-multi/auto/Storable/ with a | new system where I applied the SuSE updates first and then used | CPAN to install any remaining prerequisites for sa (and was able to | make tests without problems). It turns out that the Storable.so | (and other .so files) is different. Seems that newer Perl versions | install compiled API libraries as .so files and don't use the .pm | stuff anymore. That's obviously good for performance. It seems the | SuSE (or any other vendor Perl update) just contains a lot of .so | files and overwrites all those coming with the standard | distribution. Some of them are then not "in sync" probably with | some CPAN modules or whatever else. This can either be cured by | getting the respective .so file from a working system or do a | "force install" in the CPAN shell which forces a reinstall and | updates the .so file to a version that "fits". (There doesn't seem | to be a method to uninstall Perl modules?) This means that whenever | a vendor provides a Perl update the chance that some of your | installed modules get hosed is great. | | Kai | Means spamassassin any many other stuff has to be recompiled and reinstalled? Would be :( Philipe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iQD1AwUBQhkG+0Ng1DRVIGjBAQI3gQb9EW3Z2mclIQydfHM6uu/ni7BCctz0QRER HrHfoLrggGzaxWm09AhsAABCq55/8X32R1/c2lQVfvxo6sEmH5Xk4lAS5azCYkrs uhf4eyIWED6SFN0vOwloQORh64jJVUQqpr2hly3OkmKfXf8oNxrWmJZKUZUGq9Ow mazi52AVkxBMlyviiTP6qQZCQZQPyn44SqK3i9vK6wTbfEMt3MuGqwHvbes8ogxq N8RidOk8PbbKedZVLhoci0zDTq1Nl3Kk47JldXF230Hv32hxM355MVpnRacYyVLc 9DgBRYyzsqY= =w3Jp -----END PGP SIGNATURE-----
Philippe Vogel wrote on Sun, 20 Feb 2005 22:54:03 +0100:
Means spamassassin any many other stuff has to be recompiled and reinstalled?
Fortunately not. What gets broken are modules which belong to the standard distribution, f.i. for SA this is Storable and Digest::MD5. You have to force install these to get the correct .so files back. In most cases the error message will show which module needs to be reinstalled. Suidperl may also stop working after the update unless you changed the permissions.local file to take care of that. Kai -- Kai Schätzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com IE-Center: http://ie5.de & http://msie.winware.org
participants (4)
-
Bastian Friedrich
-
Kai Schaetzl
-
Marcus Meissner
-
Philippe Vogel