develooper Front page | perl.perl5.porters | Postings from September 2009

PERL porters/ PERL 5.10.1

Thread Next
From:
Takis Psarogiannakopoulos
Date:
September 17, 2009 07:21
Subject:
PERL porters/ PERL 5.10.1
Message ID:
20090917061436.Y81515@public.xfree86.org

Hi,
I am not sure where to send this so if you are in the list please forward
it. Unlike with gcc@gcc.gnu.org global development list I cannt seem to
find a similar one for PERL!

A)
On the latest 5.10.1 source tree the static build has been badly
broken. I am using EMC's Unix, (see README.dgux on the main perl source
tree) but I ve tested also on Linux, slackware 13.0 release

In short:
If you set in the hints file usedl=false (aka static build) the tree fails
to link an executable perl since there is no static file Compress.a
Instead we should modify the Makefile.SH as :

.....
static_list=' '
for f in $static_ext; do
        base=`echo "$f" | sed 's/.*\///'`
        if test "x$base" != "xCompress"; then    <-----  avoid Compress.a
          static_list="$static_list lib/auto/$f/$base\$(LIB_EXT)"
        fi                                       <-----
    : Parallel makes reveal that we have some interdependencies
.....

B) The main Configure script has changed and statements like the ones

prefix="/usr/local"
privlib="$prefix/lib/perl5"

are not resolved! So Configure cannot figure that privlib should be
really /usr/local/lib/perl5 and override the default.

Now in the main perl Configure sript we find  the variable installstyle
which if set to installstyle='lib/perl5' seems to do the trick for the
library perl5. with that set as above it creates inside there
(lib/perl5) the directories site_perl and 5.10.1 (versioning)

However for some strange reason any attempt to avoid versioning leads to
incomplete installation. Eg edit the main Configure of 5.10.1 and change
the lines:

*lib/perl5*) set dflt privlib lib/$package/$version ;; ---> to

*lib/perl5*) set dflt privlib lib/$package ;; (aka remove version)

*lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog/$version ;; --> to

*lib/perl5*) dflt=$siteprefix/lib/$package/site_$prog ;; (remove version)

etc ... (follow "installstyle" string inside Configure)

Well giving "make install" will install nothing inside $prefix/lib/perl5
except archname-thread-multi and site_perl directories. No other files at
all. Why is that? That doesnt seem right as most of systems have a single
perl installation, so going through lib/perl5/5.10.1 is a bit pointless in
a sense! Well maybe not entirely pointless but certainly someone should be
able to remove it if it deems neccessary.
Btw these all those features were working fine on perl 5.6.1 which was the
last stable release I looked into to install in a unix system and not just
to verify the build.
If anyone can look into these will be nice, A) definitely needed to be
fixed and in my opinion B) should be in the discretion of the builder too.

Kind Regards,







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