Subject: pkg/14871: some issues with static perl build
To: None <>
From: John Hawkinson <>
List: netbsd-bugs
Date: 12/08/2001 01:29:53
>Number:         14871
>Category:       pkg
>Synopsis:       some issues with static perl build
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 07 22:35:00 PST 2001
>Originator:     John Hawkinson
>Release:        -current of 1 Dec 2001
System: NetBSD 1.5Z NetBSD 1.5Z (GENERIC) #0: Fri Dec 7 14:22:37 EST 2001 pmax
Architecture: mipsel
Machine: pmax
1)	I notice that lang/perl5 ends up building perl twice. Curiously,
the perl statically linked against libperl.a is installed as /usr/pkg/bin/perl,
but not as /usr/pkg/bin/perl5.6.1 -- perl5.6.1 is dynamically linked against

2)	Building perl twice on a slow architecture is twice as slow.
It was suggested to me that the the static libperl.a advantage was
pretty much non-existant on any platform with a reasonable number of registers.

1) phantom# ldd /usr/pkg/bin/perl5.6.1
         -lperl => /usr/pkg/lib/perl5/5.6.1/mipsel-netbsd/CORE/
         -lm.0 => /usr/lib/
         -lcrypt.0 => /usr/lib/
         -lc.12 => /usr/lib/
phantom# ldd /usr/pkg/bin/perl5
ldd: /usr/pkg/bin/perl5: No such file or directory
phantom# ldd /usr/pkg/bin/perl
         -lm.0 => /usr/lib/
         -lcrypt.0 => /usr/lib/
         -lc.12 => /usr/lib/

2)	I ran two sucessive "make test" instances on the dynamic and
statically linked libperl, and found the difference to be negligable.

dynamic libperl.o:
 u=24.87  s=7.63  cu=1901.18  cs=1399.96  scripts=255  tests=12998
 2011.585u 1617.469s 1:02:54.60 96.1%    0+0k 218+3758io 59pf+0w

static libperl.o:
 u=24.88  s=7.76  cu=1856.5  cs=1397.15  scripts=255  tests=12998
 1969.397u 1613.590s 1:02:30.17 95.5%    0+0k 201+3839io 52pf+0w

1)	Make sure the perl5.6.1 points to the static version.
2)	Punt the static build on some platforms, including the pmax.