xlancealotx has asked for the wisdom of the Perl Monks concerning the following question:

ok 1st post, not a perl monk, my knowledge is still that of a small grasshopper, so keep that in mind with the post :)
Well we switched from some older fedora servers to a new Ubuntu-server-8.04. After getting the perl mod's installed things seem to be working fine, but the general (not vhost) error log just keeps spitting out these 2 things (remember the sites do seem to be working fine), but is there a way to satisfy these 2 things?

Prototype mismatch: sub ModPerl::ROOT::ModPerl::PerlRun::home_mcp_htdocs_cgi_2dbin_mapperv2_2ejpg::SEEK_CUR: none vs () at /usr/share/perl/5.10/Exporter.pm line 66.

Constant subroutine ModPerl::ROOT::ModPerl::PerlRun::home_mcp_htdocs_cgi_2dbin_mapperv2_2ejpg::SEEK_SET redefined at /usr/lib/perl5/ModPerl/Util.pm line 69.

those are just a few, but there pretty much the same errors, except the seek_set also includes seek_cur, seek_end, etc.

Please let me know if there is more I should post, or something else to help answer.

Thanks
  • Comment on Apache spitting out odd perl errors on distro change

Replies are listed 'Best First'.
Re: Apache spitting out odd perl errors on distro change
by almut (Canon) on May 08, 2009 at 17:15 UTC

    FWIW, I can replicate such a warning with this snippet

    package ModPerl::ROOT::ModPerl::PerlRun::home_mcp_htdocs_cgi_2dbin_map +perv2_2ejpg; sub SEEK_CUR { 1 }; use IO::Seekable; # by default exports the constant sub SEEK_CUR # (which clashes with the former definition) __END__ Prototype mismatch: sub ModPerl::ROOT::ModPerl::PerlRun::home_mcp_htdo +cs_cgi_2dbin_mapperv2_2ejpg::SEEK_CUR: none vs () at /usr/local/perl/ +5.10.0/lib/5.10.0/Exporter.pm line 66. at ./762841.pl line 6

    but only with 5.10.0 — 5.8.8 interestingly does not produce that warning, except when I explicitly enable global warnings with -w  (which would explain why you didn't get it before).

    To solve the issue, you probably need to remove the duplicate definition, or find whatever module is exporting it, too, and disable the export (in the above snippet that would be "use IO::Seekable ();")