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

Re: [perl #24258] ExtUtils::Embed::ldopts produces wrong output for static perl

Thread Previous
From:
Stas Bekman
Date:
October 25, 2003 01:50
Subject:
Re: [perl #24258] ExtUtils::Embed::ldopts produces wrong output for static perl
Message ID:
3F9A3953.2070406@stason.org
Stas Bekman (via RT) wrote:

Some more info on this issue:

> This bugreport is talking about 5.8.1, but quite possible it applies to other 
> versions as well, as I don't have any other static perl builds available at 
> the moment.
> 
> ExtUtils::Embed says:
> 
>    perl -MExtUtils::Embed -e ldopts -- DynaLoader
> 
>    This will print arguments for linking with just the DynaLoader
>    extension and libperl.a.
> 
> but it doesn't. I get:
> 
>    perl-5.8.1-ithread-nouseshrplib -MExtUtils::Embed -e ldopts -- DynaLoader
> 
> -rdynamic  -L/usr/local/lib 
> /home/stas/perl/5.8.1-ithread-nouseshrplib/lib/5.8.1/i686-linux-thread-multi/auto/DynaLoader/DynaLoader.a 
> /home/stas/perl/5.8.1-ithread-nouseshrplib/lib/5.8.1/i686-linux-thread-multi/auto/DynaLoader/DynaLoader.a 
> -L/home/stas/perl/5.8.1-ithread-nouseshrplib/lib/5.8.1/i686-linux-thread-multi/CORE 
> -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> 
> instead of giving me:
> 
> /home/stas/perl/5.8.1-ithread-nouseshrplib/lib/5.8.1/i686-linux-thread-multi/CORE/libperl.a
> 
> it gives:
> 
> -L/home/stas/perl/5.8.1-ithread-nouseshrplib/lib/5.8.1/i686-linux-thread-multi/CORE 
> -lperl
> 
> which is suitable for shared libperl.so, which I don't have (for this
> particular build).

Eventually we figured out that the user had -L/usr/lib while linking and he 
happened to have a different build's libperl.so and libperl.a there. And it 
was getting linked instead of the real libperl. Of course moving those libs 
temporary to a different location solved the problem as well (couldn't remove 
-L/usr/lib as it was needed for other libs to be found). But if 
ExtUtils::Embed gave the right full path to libperl.a it won't be a problem.

So should ExtUtils::Embed be fixed to give a full path to libperl.a when perl 
is statically built?

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


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