For whatever reason perl Makefile.PL fails on my distro
mentions something about a glob which fails at line 207 of the makefile.

I couldn't even get to make install, because make would fail

The weirdest part is that this is machine #2 of two machine which are setup
identicallly.

The difference is that the machine which failed is using an SMP kernel.

what gives??

I had to patch it like this:
see " ####### my really bad patch -- " below

sub post_initialize {
    my($self) = shift;

    if ($Config{privlibexp} ne $Config{sitelibexp}) {
 warn "
Warning: By default new modules are installed into your 'site_lib'
directories. Since site_lib directories come after the normal library
directories you must delete old DBI files and directories from your
'privlib' and 'archlib' directories and their auto subdirectories.
If you don't have an old version of the DBI installed you can ignore this.
";
 my $find = "find $Config{privlibexp} $Config{archlibexp} ";
 $find .= "-name 'DB*' -print | sort | uniq";
 if (open(FIND, "$find |")) {
     my @old;
     while(<FIND>) {
  next unless m:\bDB(I|D$):;
  next if m:^\Q$Config{sitelibexp}/:;
  next if m:^\Q$Config{sitearchexp}/:;
  next if m:^\Q$Config{man3direxp}/:;
  chop;
  push @old, $_;
     }
     close(FIND);
     warn "Here's a list of probable old files and directories:\n ",
      join("\n ",@old),"\n" if @old;
     warn "Reinstall DBD::* drivers after deleting the listed DBD
directories.\n"
  if "@old" =~ /\bDBD$/m;
     warn "\n";
 }
    }

    # install files that DBD's may need
    my $file;
    ####### my really bad patch --
    #foreach $file (qw(DBIXS.h dbi_sql.h dbd_xsh.h dbipport.h), <*.xst>) {
    foreach $file (qw(DBIXS.h dbi_sql.h dbd_xsh.h dbipport.h), qw(Driver.xst) )
{
 $self->{PM}->{$file} = '$(INST_ARCHAUTODIR)/'.$file;
    }

    return '';
}


I'm guessing that perl is looking for old DBI | DBD files, and if they
aren't found, we install the files in the top level of the install directory.

if ($Config{privlibexp} ne $Config{sitelibexp}) then can I assume
that it's OK to quote specifically Driver.xst, as it's the only file in the top
level?


Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
    osname=linux, osvers=2.2.5-22smp, archname=i386-linux
    uname='linux porky.devel.redhat.com 2.2.5-22smp #1 smp wed jun 2 09:11:51 ed

t 1999 i686 unknown '
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2
release)
    cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
    stdchar='char', d_stdstdio=undef, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lc -lposix -lcrypt
    libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Built under linux
  Compiled at Aug 30 1999 23:09:51
  @INC:
    /usr/lib/perl5/5.00503/i386-linux
    /usr/lib/perl5/5.00503
    /usr/lib/perl5/site_perl/5.005/i386-linux
    /usr/lib/perl5/site_perl/5.005


Reply via email to