Subject: Re: perl modules need better, non-open dependencies
To: None <tech-pkg@NetBSD.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 04/09/2004 21:35:00
On Sat, 10 Apr 2004, grant beattie wrote:

> On Fri, Apr 09, 2004 at 12:16:50PM -0700, Jeremy C. Reed wrote:
>
> > reed@puget:/usr/pkgsrc/new/inkspace$ perl -e "require XML::Parser"
> > Can't locate XML/Parser.pm in @INC (@INC contains:
> > /usr/lib/perl5/site_perl/5.8.3/i386-linux /usr/lib/perl5/site_perl/5.8.3
> > /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl
> > /usr/lib/perl5/5.8.3/i386-linux /usr/lib/perl5/5.8.3 .) at -e line 1.
>
> what planet is your perl installation on if it's looking in both 5.8.3
> *and* 5.6.1 directories? that certainly doesn't seem right.

This is perl built from pkgsrc:

reed@puget:/usr/pkgsrc/new/inkspace$ perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.6.3, archname=i386-linux
    uname='linux puget.reedmedia.net 2.6.3 #1 smp sat mar 6 13:53:01 pst
2004 i686 unknown unknown gnulinux '
    config_args='-sde -Dprefix=/usr -Dscriptdir=/usr/bin
-Darchname=i386-linux -Doptimize=-g -s -I/usr/include
-Dinstallstyle=lib/perl5 -Ui_malloc -Uusemymalloc
 -Uinstallusrbinperl -Dman3ext=3 -Dman3dir=/usr/lib/perl5/5.8.3/man/man3
-Dsiteman3dir=/usr/lib/perl5/site_perl/man/man3
-Dman1dir=/usr/share/man/man1 -Dsiteprefix=/usr
-Dsiteman1dir=/usr/share/man/man1 -Dcc=gcc -Duseshrplib'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-g -s -I/usr/include',
    cppflags='-DDEBUGGING -fno-strict-aliasing'
    ccversion='', gccversion='3.3.3', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags ='-Wl,-R/usr/lib  -L/usr/lib'
    libpth=/usr/lib /lib /usr/local/lib
    libs=-lnsl -lgdbm -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.3/i386-linux/CORE'
    cccdlflags='-fpic', lddlflags='-shared -Wl,-R/usr/lib -L/usr/lib'


Characteristics of this binary (from libperl):
  Compile-time options: DEBUGGING USE_LARGE_FILES
  Built under linux
  Compiled at Apr  6 2004 19:21:24
  @INC:
    /usr/lib/perl5/site_perl/5.8.3/i386-linux
    /usr/lib/perl5/site_perl/5.8.3
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/5.8.3/i386-linux
    /usr/lib/perl5/5.8.3
    .


Looking on another box also from pkgsrc, I see:

Characteristics of this binary (from libperl):
  Compile-time options: USE_LARGE_FILES
  Built under netbsd
  Compiled at Apr 11 2003 17:17:26
  @INC:
    /usr/pkg/lib/perl5/site_perl/5.6.1/i386-netbsd
    /usr/pkg/lib/perl5/site_perl/5.6.1
    /usr/pkg/lib/perl5/site_perl/5.6.0/i386-netbsd
    /usr/pkg/lib/perl5/site_perl/5.6.0
    /usr/pkg/lib/perl5/site_perl
    /usr/pkg/lib/perl5/5.6.1/i386-netbsd
    /usr/pkg/lib/perl5/5.6.1
    .

Notice the 5.6.0 and 5.6.1, so it appears to keep old version in the
@INC.

   Jeremy C. Reed
   http://www.reedmedia.net/