[SOLVED] procmail | spamassassin | perl problem Perl_Gthr_key_ptr
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
This worked fine for filtering until recently. I am now consistently getting the following error in my procmail.log:
/usr/bin/perl: symbol lookup error: /usr/lib/perl5/site_perl/5.10.1/i486-linux-thread-multi/auto/NetAddr/IP/Util/Util.so: undefined symbol: Perl_Gthr_key_ptr
procmail: Program failure (127) of "/usr/bin/spamassassin"
procmail: Rescue of unfiltered data succeeded
Google has not been my friend. There are some entries but nothing pertinent to this particular usage problem.
So far I have updated perl via perl -MCPAN -e shell upgrade, and forced perl to rebuild spamassasin in case of version incompatibilities.
Checking the specific perl module listed reports:
cpan[3]> r NetAddr::IP::Util
All modules are up to date for NetAddr::IP::Util
After receiving 10 spam mails today I have only just run spamassassin from a shell and found exactly the same problem. No solution yet. I'm on slackware64-current, btw.
/usr/bin/perl: symbol lookup error: /usr/lib/perl5/site_perl/5.10.1/i486-linux-thread-multi/auto/NetAddr/IP/Util/Util.so: undefined symbol: Perl_Gthr_key_ptr
<snip>
So far I have updated perl via perl -MCPAN -e shell upgrade, and forced perl to rebuild spamassasin in case of version incompatibilities.
Somehow you've installed a 32bit perl module on Slackware64. It should be under /usr/lib64/perl5/..., or /usr/local/lib64/perl5/... if it was installed for 64bit perl
Somehow you've installed a 32bit perl module on Slackware64. It should be under /usr/lib64/perl5/..., or /usr/local/lib64/perl5/... if it was installed for 64bit perl
Not here. I'm running 32bit on a 64bit machine.
cat /etc/slackware-version
Slackware 13.37.0
uname -a
Linux Senior 2.6.38.7-smp #2 SMP Sat May 21 23:13:29 CDT 2011 i686 Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz GenuineIntel GNU/Linux
There seems to be a problem with previous version of spamassassin and the recent Perl 5.12. You might try to upgrade spamassassin to the recently released version:
Ah, ok then.
Then it's the NetAddr::IP (not NetAddr::IP::Util) module that has the problem. I guess you should reinstall the module and see if it works.
There seems to be a problem with previous version of spamassassin and the recent Perl 5.12. You might try to upgrade spamassassin to the recently released version
I was afraid of an answer like that.
I remember last time I installed or upgraded spamassassin: I downloaded and manually installed a lot of perl modules one by one, totally independent of Slackware package management. It took forever. Only for spamassassin itself I used the slacky.eu slackbuild.
This time round, same disaster. I don't know what happened, whether it was my upgrading perl modules via cpan or what, but spamassassin did not find all or some of his dependencies. So the slackbuild wouldn't run. I tried cpan2tgz, but that was a complete failure. Certainly did not resolve dependencies, and complained about nonsensical missing modules.
In the end I bit the bullet. I was a bit more clever and used the "cpan" executable. That saved some time, but of course the result still is a lot of cruft under /usr which is not under control of Slackware package management.
The good news: it solved the issue reported in this thread.
Code:
#!/bin/bash
#
# install spamassassin 3.3.2 on Slackware 13.37
# on the ruins of a botched spamassassin 3.3.1 installation
#
# your mileage may vary
#
cpan -fi Digest::SHA1
cpan -fi Digest::HMAC_MD5
cpan -fi Encode::Detect
cpan -fi IP::Country
cpan -fi Net::IP
cpan -fi Net::DNS
cpan -fi NetAddr::IP
cpan -fi Net::Ident
cpan -fi IO::Socket::INET6
cpan -fi IO::Socket::SSL
cpan -fi Mail::SPF
cpan -fi Mail::DKIM
cpan -fi Mail::SpamAssassin
There seems to be a problem with previous version of spamassassin and the recent Perl 5.12. You might try to upgrade spamassassin to the recently released version:
Ah, ok then.
Then it's the NetAddr::IP (not NetAddr::IP::Util) module that has the problem. I guess you should reinstall the module and see if it works.
Regards
I have done the following:
cpan[1]> r NetAddr::IP
Going to read '/root/.cpan/Metadata'
------------------
All modules are up to date for NetAddr::IP
cpan[2]> force install NetAddr::IP
----------------
Appending installation info to /usr/lib/perl5/perllocal.pod
MIKER/NetAddr-IP-4.044.tar.gz
/usr/bin/make install -- OK
If it stills complains, try to remove the NetAddr::IP module (it's a bit tricky, so better use cpanplus), download the module source and compile it yourself
If it stills complains, try to remove the NetAddr::IP module (it's a bit tricky, so better use cpanplus), download the module source and compile it yourself
I have removed the module and rebuilt from source. I just sent myself a series of test messages and will report back.
Removed Socket6, downloaded source, installed, resending test messages. Great. Now:
/usr/bin/perl: symbol lookup error: /usr/lib/perl5/site_perl/5.10.1/i486-linux-thread-multi/auto/HTML/Parser/Parser.so: undefined symbol: Perl_Istack_sp_ptr
Why am I using 5.10 modules on 5.14? mv'd the 5.10 dir to 5.10-bak. Resending test messages.
Ok this seems to have worked, so I'm marking this solved. Note, due to inattentiveness when rebuilding spamassassin, it installed in /usr/local/bin rather than /usr/bin/ This created another problem, but easy to fix.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.