Subject: perl-5.6.0 on 1.4.2/i386
To: None <netbsd-users@netbsd.org>
From: Giles Lean <giles@nemeton.com.au>
List: netbsd-users
Date: 05/22/2000 17:05:47
Hi all,

I saw a posting drift past (I think on -help) asking about building
perl5 on NetBSD-1.4.2/i386.  Like the author of that posting I've
tried building perl-5.6.0, and while the build works and the
non-broken-by-design parts of the test suite pass the install blows up:

# make install
...
./perl installperl 
Can't load 'lib/auto/File/Glob/Glob.so' for module File::Glob: No such file or directory at lib/XSLoader.pm line 73.
 at lib/File/Glob.pm line 94
Compilation failed in require at installperl line 66.
BEGIN failed--compilation aborted at installperl line 66.
*** Error code 255

The supposedly missing file exists:

$ file lib/auto/File/Glob/Glob.so
lib/auto/File/Glob/Glob.so: NetBSD/i386 demand paged shared library
not stripped

A quick bit of troubleshooting with ktrace shows that perl isn't
trying to open this file at all; it has read /var/run/ld.so.hints and
is reading every library directory with getdents().  That *looks* (I'm
guessing, OK :-) like readdir() to me and no directory contains a file
"lib/auto/File/Glob/Glob.so" so it all blows up.

The real question is why is perl's dynamic loading on 1.4.2/i386 using
a.out looking in library directories anyway when it is given a
pathname?

Unfortunately I ran out of time and haven't got back to this yet, so:

- can anyone confirm whether perl 5.6.0 builds and installs on any
  NetBSD platform, 1.4.2 or -current?

- is there anyone who is familiar enough with perl's dynamic loading
  to suggest a good place to start looking for this?

Regards,

Giles