Let my system go for about 2 weeks without updating and hits some problems - mostly perl related. perl-5.16.1 was installed. Had to run `perl-cleaner --all` to fix several issues.
dspam-web is failing because it can't find ctime.pl and neither can I! Checked another outdated system with perl-5.12.4 and ctime.pl is located in /usr/lib64/perl5/5.12.4/ctime.pl.
Checked available perl versions with `equery l -p perl`:
# equery l -p perl * Searching for perl ... [-P-] [ ] dev-lang/perl-5.12.3-r1:0 [-P-] [ ] dev-lang/perl-5.12.4-r1:0 [-P-] [M-] dev-lang/perl-5.14.2:0 [IP-] [ -] dev-lang/perl-5.16.1:0
According to the equery man page, " - means arch masked, e.g., you are running an amd64 system, but this package only works on x86." I am runing ~amd64.
Is perl-5.16.1 only for x86?
Should I be running 5.12.4? If so, why did I end up with 5.16.1?
Where the hell is ctime.pl in 5.16.1?
Last edited by overkill (2012-10-06 00:33:57)
It's a run-time error, not an install error. Plus the gentoo dspam-web ebuild is total garbage. I've had to make my own ebuild to get it to work, and it's been working for years.
The error occurs when trying to access the dspam-web site. Here's the apache2 error that is generated when trying to access the site:
[Tue Sep 25 19:46:45 2012] [error] [client 10.0.0.10] Can't locate ctime.pl in @INC (@INC contains: /etc/perl /usr/local/lib64/perl5/5.16.1/x86_64-linux /usr/local/lib64/perl5/5.16.1 /usr/lib64/perl5/vendor_perl/5.16.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.16.1 /usr/local/lib64/perl5 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.16.1/x86_64-linux /usr/lib64/perl5/5.16.1 .) at dspam.cgi line 25. [Tue Sep 25 19:46:45 2012] [error] [client 10.0.0.10] Premature end of script headers: dspam.cgi
OK, it's my fault. I didn't upgrade my dspam-web ebuild. ctime.pl and many other perl components were removed from perl-5.16. dspam-3.10.2 had the modified cgi scripts that use POSIX ctime. Upgraded my ebuild and the problem is solved.