Subject: pkg/14871: some issues with static perl build
To: None <gnats-bugs@gnats.netbsd.org>
From: John Hawkinson <jhawk@mit.edu>
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
>Closed-Date:
>Last-Modified:
>Originator: John Hawkinson
>Release: -current of 1 Dec 2001
>Organization:
MIT
>Environment:
System: NetBSD phantom.mit.edu 1.5Z NetBSD 1.5Z (GENERIC) #0: Fri Dec 7 14:22:37 EST 2001 root@phantom.mit.edu:/usr/src/sys/arch/pmax/compile/GENERIC pmax
Architecture: mipsel
Machine: pmax
>Description:
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
libperl.so.
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.
>How-To-Repeat:
1) phantom# ldd /usr/pkg/bin/perl5.6.1
/usr/pkg/bin/perl5.6.1:
-lperl => /usr/pkg/lib/perl5/5.6.1/mipsel-netbsd/CORE/libperl.so
-lm.0 => /usr/lib/libm.so.0
-lcrypt.0 => /usr/lib/libcrypt.so.0
-lc.12 => /usr/lib/libc.so.12
phantom# ldd /usr/pkg/bin/perl5
ldd: /usr/pkg/bin/perl5: No such file or directory
phantom# ldd /usr/pkg/bin/perl
/usr/pkg/bin/perl:
-lm.0 => /usr/lib/libm.so.0
-lcrypt.0 => /usr/lib/libcrypt.so.0
-lc.12 => /usr/lib/libc.so.12
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
>Fix:
1) Make sure the perl5.6.1 points to the static version.
2) Punt the static build on some platforms, including the pmax.
>Release-Note:
>Audit-Trail:
>Unformatted: