http://qs321.pair.com?node_id=754683

Hue-Bond has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks,

I'm deploying a copy of perl-5.8.9 in my system, since I need it for working on a project and my system perl has already been upgraded to 5.10. So far the compilation and installation of perl-5.8.9 has gone fine and now I'm installing the project's required modules.

I'm getting an error with CGI::Test, during the make test stage, saying undefined symbol: PL_curpad. This is the partial output of what I'm doing:

$ PATH=$PATH:/opt/myperl/bin /opt/myperl/bin/cpan CGI::Test [...] Running make test PERL_DL_NONLAZY=1 /opt/myperl/bin/perl "-MExtUtils::Command::MM" "-e" +"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/env...........ok + t/get...........ok + t/parsing.......ok + t/play_get......ok + t/play_multi....ok 3/27Can't load '/opt/myperl/lib/5.8.9/i686-linux/au +to/Fcntl/Fcntl.so' for module Fcntl: /opt/myperl/lib/5.8.9/i686-linux +/auto/Fcntl/Fcntl.so: undefined symbol: PL_curpad at /opt/myperl/lib/ +5.8.9/i686-linux/XSLoader.pm line 70. at /opt/myperl/lib/5.8.9/i686-linux/Fcntl.pm line 215 BEGIN failed--compilation aborted at /opt/myperl/lib/5.8.9/i686-linux/ +Fcntl.pm line 216.

I've searched google and the monastery to no avail, although I saw some things that could help to shed some light on this:

$ nm /opt/myperl/lib/5.8.9/i686-linux/auto/Fcntl/Fcntl.so | grep PL_cu +rpad U PL_curpad $ nm /opt/myperl/bin/perl | grep PL_curpad 0813c000 B PL_curpad $ /opt/myperl/bin/perl -MFcntl -e 'print "ok\n";' ok

This last snippet shows that Fcntl seems to load properly, although it doesn't when testing CGI::Test. Maybe I'm inadvertently mixing something with the system perl, although I don't see where. What should I do? I'm out of ideas.

--
David Serrano