develooper Front page | perl.par | Postings from November 2006

Re: Preflight: PAR 0.958 with parl-regenerating pp goodness

Thread Previous | Thread Next
From:
Steffen Mueller
Date:
November 14, 2006 03:34
Subject:
Re: Preflight: PAR 0.958 with parl-regenerating pp goodness
Message ID:
4559A9CD.8080200@sneakemail.com
Philippe Schaffnit schrieb:
> Hi!
> 
> I'm in favour of hacking the heuristics, as this seems to do the trick
> for me (appart from a warning in the tests...), 8-)
> 
> Where does 'perl -V' get the info from? Isn't it available for you to
> look up?

It is: use Config; print $Config::Config{libperl}."\n";

But:

I don't understand what's happening in the Makefile.PL exactly. The big 
if() block around line 83 is only entered if dynperl is set. (Is it, in 
your case? I bet not.) Provided you're not on OS2, it'll take 
$Config{libperl} and replace its extension with .so or equivalent. 
(Remember: $dynperl is set if we get here)

Of course, your perl being static, libperl.so (or so) isn't found. If I 
hack that part not to replace the extension, some dynamic libraries 
might not be found any more.

If $dynperl isn't set, the -lperl is removed from the linker flags - I 
suppose -lperl wouldn't succeed without a shard lib.

I have no idea how this is supposed to pick up a perl library at all if 
perl is static...

What I would do if I was a little more confident in my understanding of 
this is the following. (Did I mention I hate C and everything that comes 
with it, compilers, linkers, system libraries?)
- Move the library searching code into a subroutine.
- in the elsif($dynperl) branch (line 86 ff), I would keep the extension 
replacement and call the library searching subroutine with the modified 
file name.
- in the else { part (line 132 right now), add a $libperl = 
library_searching_sub($Config{libperl})

I have not idea whether this is even remotely a good idea. I don't want 
to put this into a release and see it fail everywhere for reasons I 
don't understand. The last preflight either passed tests for everyone 
(and now fails on various platforms!) or it was largely ignored. I fear 
the latter, so making a preflight phase isn't going to help. Perhaps a 
developer release to CPAN would help.

I don't know whom to ask about this either. Audrey hasn't been overly 
responsive recently and, more importantly, claims to have no knowledge 
of the C stuff at all. Could somebody please step up?

Steffen

Thread Previous | Thread Next


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