develooper Front page | perl.perl5.porters | Postings from November 2003

Re: [perl #24556] Perl 5.8.2: unresolvable symbol PL_perl_destruct_level

Thread Previous
From:
Spider Boardman
Date:
November 29, 2003 10:15
Subject:
Re: [perl #24556] Perl 5.8.2: unresolvable symbol PL_perl_destruct_level
Message ID:
200311291814.NAA331685@orb.dynalias.net
On 26 Nov 2003 16:54:46 -0000, "Cindy M. Gomez" wrote (in part):

cmg> I am having a problem running Perl 5.8.2 on a second DEC/Alpha machine.
cmg> Here are the details.

cmg> I installed Perl 5.8.2 plus Tk, DBI and DBD:Informix modules on a
cmg> DEC/Alpha machine.  I tarred the /usr/local/lib/perl5/5.8.2,
cmg> /usr/local/lib/site_perl/5.8.2 and the perl binary to load on another
cmg> DEC/Alpha machine with the same architecture.  (Note: I did this same
cmg> procedure for Perl 5.8.1 and perl ran fine on the second DEC/Alpha
cmg> machine.)

cmg> perl 5.8.2 runs great on the first machine it was installed on.  When
cmg> trying to run perl -v on the second machine, I encountered the
cmg> following problems:

cmg> Problem 1) 26233:/usr/local/bin/perl: /sbin/loader: Fatal Error: cannot
cmg> map libperl.so FIXED by: Adding the following directory to
cmg> LD_LIBRARY_PATH.
cmg> /usr/local/lib/perl5/5.8.2/alpha-dec_osf-thread-multi/CORE

Not properly fixed, our you wouldn't have run into problem 2.  See below.

cmg> Problem 2) 16386:/usr/local/bin/perl: /sbin/loader: Error: unresolvable
cmg> symbol in /usr/local/bin/perl: PL_perl_destruct_level
cmg> 16386: /usr/local/bin/perl: /sbin/loader: Fatal Error: this executable
cmg> has unresolvable symbols

This comes from a mis-match between the executable and the shared library.
See below.

cmg> QUESTIONS:
cmg> Which shared library is PL_perl_destruct_level defined in?

A non-threaded libperl.so, rather than the threaded one you built.  In other
words, you copied over the wrong binary [based on your build report, at
least].

cmg> Why isn't the perl executable finding the shared library?

Do the following:

	odump -D /usr/local/bin/perl

You're looking for RPATH and NEEDED lines in that output.  The RPATH is the
most-relevant, since it'll tell you which major compile-time options
modified the 'architecture' directory for that perl build.  I'm pretty sure
you'll see that it does not have "-thread" in it.

cmg> What do I need to do to fix these problems?

Get a matching executable and library tree copied over.

Hope this helps,

	--s.

-- 
Spider Boardman (at home)		      spider@orb.dynalias.net
The management (my cats) made me say this.    http://users.rcn.com/spiderb/
PGP public key fingerprint: 96 72 D2 C6 E0 92 32 89  F6 B2 C2 A0 1C AB 1F DC

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About