develooper Front page | perl.perl5.porters | Postings from April 2007

[perl #42443] ODBM_File removal in wrong place?

Thread Next
From:
Nicholas Clark
Date:
April 11, 2007 01:06
Subject:
[perl #42443] ODBM_File removal in wrong place?
Message ID:
rt-3.6.HEAD-30201-1176277635-467.42443-75-0@perl.org
# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #42443]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42443 >


This is a bug report for perl from nick@ccl4.org,
generated with the help of perlbug 1.35 running under perl 5.9.5.


-----------------------------------------------------------------
[Please enter your report here]

Building with a C++ compiler, there appears to be a bit of indecision about
what extensions we have. Result - test failure:

$ ./perl -Ilib  lib/DBM_Filter/t/01error.t
1..21
ok 1 - use DBM_Filter;
not ok 2 - use ODBM_File;
#   Failed test 'use ODBM_File;'
#   at lib/DBM_Filter/t/01error.t line 57.
#     Tried to use 'ODBM_File'.
#     Error:  Can't locate ODBM_File.pm in @INC (@INC contains: . lib /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/5.9.5/sun4-solaris /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/5.9.5 /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/site_perl/5.9.5/sun4-solaris /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/site_perl/5.9.5) at (eval 4) line 2.
# BEGIN failed--compilation aborted at lib/DBM_Filter/t/01error.t line 57.
ok 3 - use Fcntl;
Can't locate object method "TIEHASH" via package "ODBM_File" at lib/DBM_Filter/t/01error.t line 66.
# Looks like you planned 21 tests but only ran 3.
# Looks like you failed 1 test of 3 run.
# Looks like your test died just after 3.

Why? Well, it sure looks like we have ODBM_File:

$ grep ODBM config.sh 
dynamic_ext='B Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
extensions='B Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Time/HiRes Time/Piece Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Compress/Zlib Errno IO/Compress/Base IO/Compress/Zlib'
known_extensions='B Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Thread Time/HiRes Time/Piece Unicode/Normalize Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attrs re threads threads/shared'


But it turns out that there is this hack in Makefile.SH:

case "$d_cplusplus" in
define)
  : delete as a function name will not work.
  dynamic_ext=`echo $dynamic_ext | sed 's/ODBM_File//'`
  static_ext=`echo $static_ext | sed 's/ODBM_File//'`
  ;;
esac


Shouldn't that be in Configure? Before config.sh is written? Or even,
around the time that dynamic_ext and static_ext are offered as choices to
the user.

Nicholas Clark

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl 5.9.5:

Configured by nick at Tue Apr 10 14:59:24 PDT 2007.

Summary of my perl5 (revision 5 version 9 subversion 5) configuration:
  Platform:
    osname=solaris, osvers=2.10, archname=sun4-solaris
    uname='sunos z1.t2000.develooper.com 5.10 generic_118833-03 sun4v sparc sunw,sun-fire-t200 '
    config_args='-Dusedevel=y -Dcc=ccache CC -Dld=CC -Ubincompat5005 -Uinstallusrbinperl -Dcf_email=nick@ccl4.org -Dperladmin=nick@ccl4.org -Dinc_version_list=  -Dinc_version_list_init=0 -Doptimize=-g -Duseperlio -Uusethreads -Uuse64bitall -Uuselongdouble -Uusemymalloc -Dprefix=~/Sandpit/snap5.9.x-30900 -Dinstallman1dir=none -Dinstallman3dir=none -de'
    hint=recommended, useposix=true, d_sigaction=define
    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='ccache CC', ccflags ='-DDEBUGGING -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV',
    optimize='-g',
    cppflags='-DDEBUGGING'
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='CC', ldflags =' -L/usr/local/lib '
    libpth=/usr/local/lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib'

Locally applied patches:
    DEVEL

---
@INC for perl 5.9.5:
    lib
    /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/5.9.5/sun4-solaris
    /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/5.9.5
    /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/site_perl/5.9.5/sun4-solaris
    /home/nick/Sandpit/snap5.9.x-30900/lib/perl5/site_perl/5.9.5
    .

---
Environment for perl 5.9.5:
    HOME=/home/nick
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/bin:/home/nick/bin:/usr/bin:/usr/sfw/bin:/usr/sfw/sbin:/opt/csw/bin:/opt/csw/sbin:/opt/SUNWspro/bin:/usr/X/bin:/usr/ucb:/usr/sbin:/usr/ccs/bin:/opt/gcc/bin:/usr/local/sbin:/sbin:/usr/sbin
    PERL_BADLANG (unset)
    SHELL=/bin/bash


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About