Perl5.004_04 (Skunkware98)

These packages contain binary runtimes (SCO OpenServer) and sources and documentation for perl5, the swiss-army chainsaw. The version here corresponds to 5.004_04 and provides a shared lib perl and supports dynamic loading of perl extension libraries.

Osr5 Build Notes

This version of Perl builds on Osr5 out of the distribution but that built version is not built as a shared library and doesn't support dynamically loading libraries.

I didn't get a completed sco hints file done that would build on osr5 this way but there is the config.sh file I ended up using below that will build it that way. If anyone does work out the changes needed to ./hints/sco.sh please feel free to forward them to me . Theres an attempt at a modified sco.sh hints file below

In addition to the above mentioned config.sh for a shared library build you will also need to modify files
ext/DB_File/Makefile and ext/DB_File/Makefile.PL
so that the line containing -ldb has -lc appended to it
i.e Makefile

EXTRALIBS = -L/usr/local/lib -ldb
LDLOADLIBS = -L/usr/local/lib -ldb
goes to
EXTRALIBS = -L/usr/local/lib -ldb -lc
LDLOADLIBS = -L/usr/local/lib -ldb -lc 
Makefile.PL
LIBS            => ["-L/usr/local/lib -ldb"],   
goes to
LIBS            => ["-L/usr/local/lib -ldb -lc"],   
otherwise (for some reason) you'll get relocation errors on some symbols referenced from DB_File.o that should be resolved out of libc when DB_File is loaded.

Tests

This version passes all the supplied tests
All tests successful.
Files=153,  Tests=4855, 245 secs (54.46 cusr 18.35 csys = 72.81 cpu)

Info Resources


config.sh for shared libs for OSR5(.0.5)


#!/bin/sh
#
# This file was produced by running the Configure script.  It holds all
# the definitions figured out by Configure.  Should you modify any of
# these values, do not forget to propagate your changes by running
# "Configure -S"; or, equivalently, you may run each .SH file yourself.
#

# Configuration time: Tue Mar  3 16:57:54 PST 1998
# Configured by: unknown
# Target system: sco_sv charmstr 3.2 2 i386 

Author=''
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
RCSfile='$RCSfile'
Revision='$Revision'
Source=''
State=''
afs='false'
alignbytes='4'
aphostname=''
ar='ar'
archlib='/usr/local/lib/perl5/i386-sco_sv/5.00404'
archlibexp='/usr/local/lib/perl5/i386-sco_sv/5.00404'
archname='i386-sco_sv'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
bin='/usr/local/bin'
bincompat3='n'
binexp='/usr/local/bin'
bison=''
byacc='byacc'
byteorder='1234'
c='\c'
castflags='0'
cat='cat'
cc='cc'
cccdlflags='-KPIC -Wl,-Bexport'
ccdlflags='-Wl,-Bexport'
ccflags='-belf -dy -w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include'
cf_by='unknown'
cf_email='hops@sco.com'
cf_time='Tue Mar  3 16:57:54 PST 1998'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
comm='comm'
compress=''
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cppflags='-w0 -U M_XENIX -DPERL_SCO5 -I/usr/local/include'
cpplast='-'
cppminus='-'
cpprun='cc -E'
cppstdin='cc -E'
cryptlib=''
csh='csh'
d_Gconvert='gcvt((x),(n),(b))'
d_access='define'
d_alarm='define'
d_archlib='define'
d_attribut='undef'
d_bcmp='define'
d_bcopy='define'
d_bincompat3='undef'
d_bsd='define'
d_bsdgetpgrp='undef'
d_bsdpgrp='undef'
d_bsdsetpgrp='undef'
d_bzero='define'
d_casti32='define'
d_castneg='define'
d_charvspr='undef'
d_chown='define'
d_chroot='define'
d_chsize='undef'
d_closedir='define'
d_const='define'
d_crypt='define'
d_csh='define'
d_cuserid='define'
d_dbl_dig='define'
d_difftime='define'
d_dirnamlen='undef'
d_dlerror='define'
d_dlopen='define'
d_dlsymun='undef'
d_dosuid='undef'
d_dup2='define'
d_eofnblk='define'
d_eunice='undef'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_flexfnam='define'
d_flock='undef'
d_fork='define'
d_fpathconf='define'
d_fsetpos='define'
d_ftime='undef'
d_getgrps='define'
d_setgrps='define'
d_gethent='define'
d_gethname='undef'
d_getlogin='define'
d_getpgid='define'
d_getpgrp2='undef'
d_getpgrp='define'
d_getppid='define'
d_getprior='define'
d_gettimeod='define'
d_gnulibc='undef'
d_htonl='define'
d_index='undef'
d_inetaton='define'
d_isascii='define'
d_killpg='define'
d_link='define'
d_locconv='define'
d_lockf='define'
d_lstat='define'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkfifo='define'
d_mktime='define'
d_msg='define'
d_msgctl='define'
d_msgget='define'
d_msgrcv='define'
d_msgsnd='define'
d_mymalloc='define'
d_nice='define'
d_oldarchlib='undef'
d_oldsock='undef'
d_open3='define'
d_pathconf='define'
d_pause='define'
d_phostname='undef'
d_pipe='define'
d_poll='define'
d_portable='define'
d_pwage='define'
d_pwchange='undef'
d_pwclass='undef'
d_pwcomment='define'
d_pwexpire='undef'
d_pwquota='undef'
d_readdir='define'
d_readlink='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy='define'
d_safemcpy='undef'
d_sanemcmp='define'
d_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semget='define'
d_semop='define'
d_setegid='define'
d_seteuid='define'
d_setlinebuf='undef'
d_setlocale='define'
d_setpgid='define'
d_setpgrp2='undef'
d_setpgrp='define'
d_setprior='define'
d_setregid='define'
d_setresgid='undef'
d_setresuid='undef'
d_setreuid='define'
d_setrgid='undef'
d_setruid='undef'
d_setsid='define'
d_sfio='undef'
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
d_sigsetjmp='define'
d_socket='define'
d_sockpair='define'
d_statblks='define'
d_stdio_cnt_lval='undef'
d_stdio_ptr_lval='undef'
d_stdiobase='undef'
d_stdstdio='undef'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strtod='define'
d_strtol='define'
d_strtoul='define'
d_strxfrm='define'
d_suidsafe='undef'
d_symlink='define'
d_syscall='define'
d_sysconf='define'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
d_telldir='define'
d_time='define'
d_times='define'
d_truncate='define'
d_tzname='define'
d_umask='define'
d_uname='define'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_wait4='undef'
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_xenix='undef'
date='date'
db_hashtype='u_int32_t'
db_prefixtype='size_t'
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
dynamic_ext='DB_File Fcntl GDBM_File IO NDBM_File ODBM_File Opcode POSIX SDBM_File Socket'
eagain='EAGAIN'
echo='echo'
egrep='egrep'
emacs=''
eunicefix=':'
exe_ext=''
expr='expr'
extensions='DB_File Fcntl GDBM_File IO NDBM_File ODBM_File Opcode POSIX SDBM_File Socket'
find='find'
firstmakefile='makefile'
flex=''
fpostype='fpos_t'
freetype='void'
full_csh='/bin/csh'
full_sed='/bin/sed'
gcc=''
gccversion=''
gidtype='gid_t'
glibpth='/usr/shlib /shlib /usr/lib/pa1.1 /usr/lib/large /lib /usr/lib /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/local/lib'
grep='grep'
groupcat=''
groupstype='gid_t'
gzip='gzip'
h_fcntl='true'
h_sysfile='false'
hint='recommended'
hostcat='cat /etc/hosts'
huge=''
i_bsdioctl=''
i_db='define'
i_dbm='define'
i_dirent='define'
i_dld='undef'
i_dlfcn='define'
i_fcntl='define'
i_float='define'
i_gdbm='define'
i_grp='define'
i_limits='define'
i_locale='define'
i_malloc='define'
i_math='define'
i_memory='undef'
i_ndbm='define'
i_neterrno='undef'
i_niin='define'
i_pwd='define'
i_rpcsvcdbm='undef'
i_sfio='undef'
i_sgtty='undef'
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sysdir='define'
i_sysfile='undef'
i_sysfilio='undef'
i_sysin='undef'
i_sysioctl='define'
i_sysndir='undef'
i_sysparam='define'
i_sysresrc='define'
i_sysselct='undef'
i_syssockio=''
i_sysstat='define'
i_systime='define'
i_systimek='undef'
i_systimes='define'
i_systypes='define'
i_sysun='define'
i_syswait='define'
i_termio='undef'
i_termios='define'
i_time='define'
i_unistd='define'
i_utime='define'
i_values='define'
i_varargs='undef'
i_varhdr='stdarg.h'
i_vfork='undef'
incpath=''
inews=''
installarchlib='/usr/local/lib/perl5/i386-sco_sv/5.00404'
installbin='/usr/local/bin'
installman1dir='/usr/local/man/man1'
installman3dir='/usr/local/lib/perl5/man/man3'
installprivlib='/usr/local/lib/perl5'
installscript='/usr/local/bin'
installsitearch='/usr/local/lib/perl5/site_perl/i386-sco_sv'
installsitelib='/usr/local/lib/perl5/site_perl'
intsize='4'
known_extensions='DB_File Fcntl GDBM_File IO NDBM_File ODBM_File Opcode POSIX SDBM_File Socket'
ksh=''
large=''
ld='cc'
lddlflags='-G'
ldflags='-belf -dy -L/usr/local/lib'
less='less'
lib_ext='.a'
libc='/lib/libc.so'
libperl='libperl5.4.so'
libpth='/usr/local/lib /shlib /lib /usr/lib /usr/ccs/lib'
libs=' -lsocket -lnsl -lndbm -lgdbm -ldbm -ldb -ldl -lld -lm -lc -lcrypt -lPW -lx'
libswanted='intl sfio net socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m c cposix posix ndir dir crypt ucb bsd BSD PW x'
line='line'
lint=''
lkflags=''
ln='ln'
lns='/bin/ln -s'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longsize='4'
lp=''
lpr=''
ls='ls'
lseektype='off_t'
mail=''
mailx=''
make='/bin/make'
make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
man1dir='/usr/local/man/man1'
man1direxp='/usr/local/man/man1'
man1ext='1'
man3dir='/usr/local/lib/perl5/man/man3'
man3direxp='/usr/local/lib/perl5/man/man3'
man3ext='3'
medium=''
mips=''
mips_type=''
mkdir='mkdir'
models='none'
modetype='mode_t'
more='more'
mv=''
myarchname='i386-sco_sv'
mydomain='.pdev.sco.com'
myhostname='charmstr'
myuname='sco_sv charmstr 3.2 2 i386 '
n=''
nm_opt='-p'
nm_so_opt=''
nroff='nroff'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
oldarchlib=''
oldarchlibexp=''
optimize='-O'
orderlib='false'
osname='sco_sv'
osvers='3.2'
package='perl5'
pager='/usr/bin/more'
passcat=''
patchlevel='4'
path_sep=':'
perl='perl'
perladmin='hops@sco.com'
perlpath='/usr/local/bin/perl'
pg='pg'
phostname='hostname'
plibpth=''
pmake=''
pr=''
prefix='/usr/local'
prefixexp='/usr/local'
privlib='/usr/local/lib/perl5'
privlibexp='/usr/local/lib/perl5'
prototype='define'
randbits='15'
ranlib=':'
rd_nodata='-1'
rm='rm'
rmail=''
runnm='true'
scriptdir='/usr/local/bin'
scriptdirexp='/usr/local/bin'
sed='sed'
selecttype='fd_set *'
sendmail='sendmail'
sh='/bin/sh'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv='env LD_RUN_PATH=/usr/local/lib/perl5/i386-sco_sv/5.00404/CORE'
shsharp='true'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ IOT CLD '
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6 18 '
signal_t='void'
sitearch='/usr/local/lib/perl5/site_perl/i386-sco_sv'
sitearchexp='/usr/local/lib/perl5/site_perl/i386-sco_sv'
sitelib='/usr/local/lib/perl5/site_perl'
sitelibexp='/usr/local/lib/perl5/site_perl'
sizetype='size_t'
sleep=''
smail=''
small=''
so='so'
sockethdr=''
socketlib=''
sort='sort'
spackage='Perl5'
spitshell='cat'
split=''
ssizetype='ssize_t'
startperl='#!/usr/local/bin/perl'
startsh='#!/bin/sh'
static_ext=' '
stdchar='unsigned char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
stdio_cnt='((fp)->_cnt)'
stdio_ptr='((fp)->_ptr)'
strings='/usr/include/string.h'
submit=''
subversion='4'
sysman='/local/man/man1'
tail=''
tar=''
tbl=''
test='test'
timeincl='/usr/include/sys/time.h /usr/include/time.h '
timetype='time_t'
touch='touch'
tr='tr'
troff=''
uidtype='uid_t'
uname='uname'
uniq='uniq'
usedl='define'
usemymalloc='y'
usenm='true'
useopcode='true'
useperlio='undef'
useposix='true'
usesfio='false'
useshrplib='true'
usevfork='false'
usrinc='/usr/include'
uuname=''
vi=''
voidflags='15'
xlibpth=''
zcat=''
zip='zip'
PATCHLEVEL=4
SUBVERSION=4
CONFIG=true

Modified hints/sco.sh

This is an attempt at modifying the distribution hints file for sco to support building dynamic lib supporting perl. As it is it doesn't seem to work to enable shared libperl and use of shared lib loading, The problem seems to be persuading Configure to find the dlopen and dlerror symbols in the right libc (I suspect its looking in libc.a rather than libc.so).

Contrary to what the hints comments says Optimisation on (-O) builds fine - at least on 5.0.5)

# sco.sh 
# Courtesy of Joel Rosi-Schwartz 

# Additional SCO version info from
# Peter Wolfe	
# Last revised 
# Fri Jul 19 14:54:25 EDT 1996
# by Andy Dougherty  
# modified hops 03-Mar-98

# To use gcc, use     sh Configure -Dcc=gcc
# But gcc will *not* do dynamic laoding on 3.2.5.0.0
# for that use        sh Configure -Dcc=icc
# See below for more details.

# figure out what SCO version we are. The output of uname -X is
# something like:
#	System = SCO_SV
#	Node = xxxxx
#	Release = 3.2v5.0.0
#	KernelID = 95/08/08
#	Machine = Pentium  
#	BusType = ISA
#	Serial = xxxxx
#	Users = 5-user
#	OEM# = 0
#	Origin# = 1
#	NumCPU = 1 
 
# Use /bin/uname (because Gnu may be first on the path and
# it does not support -X) to figure out what SCO version we are:
rel=`/bin/uname -X | egrep '^Release'` 
case $rel in
*3.2v4.*) scorls=3 ;;   # I don't know why this is 3 instead of 4 :-)
*3.2v5.*) scorls=5 
          scorel=`/bin/expr "$rel" : '.*3.2v\(.*\)'`
          scorelminor=`/bin/expr "$rel" : '.*3.2v5.\(.*\)'` ;;
*) scorls=3 ;; # this probabaly shouldn't happen
esac

# Try to use libintl.a since it has strcoll and strxfrm
libswanted="intl $libswanted"
# Try to use libdbm.nfs.a since it has dbmclose.
# 
if test -f /usr/lib/libdbm.nfs.a ; then
    libswanted=`echo "dbm.nfs $libswanted " | sed -e 's/ dbm / /'`
fi
set X $libswanted
shift
libswanted="$*"

# We don't want Xenix cross-development libraries
glibpth=`echo $glibpth | sed -e 's! /usr/lib/386 ! !' -e 's! /lib/386 ! !'`
xlibpth=''

case "$cc" in
*gcc*)	ccflags="$ccflags -U M_XENIX"
	optimize="$optimize -O2"
	;;
scocc)	;;

# On SCO 3.2v5 both cc and icc can build dynamic load, but cc core
# dumps if optimised (5.0.0 ??)so I am only setting this up for icc.
# It is possible that some 3.2v4.2 system have icc, I seem to
# recall it was available as a seperate product but I have no
# knowledge if it can do dynamic loading and if so how.
#	Joel Rosi-Schwartz
icc)# Apparently, SCO's cc gives rather verbose warnings
	# Set -w0 to turn them off.
	case $scorls in
	3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
	5) ccflags="$ccflags -belf -dy -w0 -U M_XENIX"
	   optimize="-O1" # -g -O1 will not work
	 # optimize="-O0" may be needed for pack test to pass.
       lddlflags='-G -L/usr/local/lib'
       ldflags=' -W l,-Bexport -L/usr/local/lib'
       dlext='so'
       dlsrc='dl_dlopen.xs'
       usedl='define'
	   ;;
	esac
	;;

*)	# Apparently, miniperl core dumps if -O is used (5.0.0)
        # hops -  modify to allow optimize on 5.0.5
	case "$optimize" in
	'') optimize=none ;;
	esac
	# Apparently, SCO's cc gives rather verbose warnings
	# Set -w0 to turn them off.
        # For Osr5 force elf dynamic lib build
	case $scorls in
	3) ccflags="$ccflags -W0 -quiet -U M_XENIX" ;;
	5) ccflags="$ccflags -belf -dy -w0 -UM_XENIX -DPERL_SCO5" 
            case $scorelminor in 
            0.5) optimize='-O'  
                # enable elf and dynamic loading 
                cccdlflags='-KPIC -Wl,-Bexport'
                ccdlflags='-Wl,-Bexport'
                lddlflags='-G'
                ldflags='-belf -dy -Wl,-Bexport'
                dlext='so'
                dlsrc='dl_dlopen.xs'
                usedl='define'
                useshrplib='define'
                ;;
            esac
            ;;
	esac
	;;
esac
i_varargs=undef

# I have received one report that nm extraction doesn't work if you're
# using the scocc compiler.  This system had the following 'myconfig'
# uname='xxx xxx 3.2 2 i386 '
# cc='scocc', optimize='-O'
#usenm='false'

# If you want to use nm, you'll probably have to use nm -p.  The
# following does that for you:
nm_opt='-p'

# I have received one report that you can't include utime.h in
# pp_sys.c.  Uncomment the following line if that happens to you:
# i_utime=undef

# Apparently, some versions of SCO include both .so and .a libraries,
# but they don't mix as they do on other ELF systems.  The upshot is
# that Configure finds -ldl (libdl.so) but 'ld' complains it can't
# find libdl.a. 
# I don't know which systems have this feature, so I'll just remove
# -dl from libswanted for all SCO systems until someone can figure
# out how to get dynamic loading working on SCO.
#
# The output of uname -X on one such system was
#	System = SCO_SV
#	Node = xxxxx
#	Release = 3.2v5.0.0
#	KernelID = 95/08/08
#	Machine = Pentium  
#	BusType = ISA
#	Serial = xxxxx
#	Users = 5-user
#	OEM# = 0
#	Origin# = 1
#	NumCPU = 1 
#
# The 5.0.0 on the Release= line is probably the thing to watch.
#	Andy Dougherty 
#	Thu Feb  1 15:06:56 EST 1996
# hops- do in check on version - this works for 5.0.5,  dunno about 5.0.[1234]
case $scorel in 
5.0.0)    libswanted=`echo " $libswanted " | sed -e 's/ dl / /'`
              set X $libswanted
              shift
              libswanted="$*"
                ;;
esac

# Perl 5.003_05 and later try to include both  and 
# in pp_sys.c, but that fails due to a redefinition of struct timeval.
# This will generate a WHOA THERE.  Accept the default.
i_sysselct=$undef


RegressionTest results

base/cond...........ok
base/if.............ok
base/lex............ok
base/pat............ok
base/term...........ok
comp/cmdopt.........ok
comp/colon..........ok
comp/cpp............ok
comp/decl...........ok
comp/multiline......ok
comp/package........ok
comp/proto..........ok
comp/redef..........ok
comp/script.........ok
comp/term...........ok
comp/use............ok
cmd/elsif...........ok
cmd/for.............ok
cmd/mod.............ok
cmd/subval..........ok
cmd/switch..........ok
cmd/while...........ok
io/argv.............ok
io/dup..............ok
io/fs...............ok
io/inplace..........ok
io/pipe.............ok
io/print............ok      
io/read.............ok
io/tell.............ok
op/append...........ok
op/arith............ok
op/array............ok
op/assignwarn.......ok
op/auto.............ok
op/bop..............ok
op/chop.............ok
op/closure..........ok
op/cmp..............ok
op/cond.............ok
op/delete...........ok
op/do...............ok
op/each.............ok
op/eval.............ok
op/exec.............ok
op/exp..............ok
op/flip.............ok
op/fork.............ok
op/glob.............ok
op/goto.............ok
op/groups...........skipping test on this platform
op/gv...............ok
op/inc..............ok
op/index............ok
op/int..............ok
op/join.............ok
op/list.............ok     
op/local............ok
op/magic............ok
op/method...........ok
op/misc.............ok
op/mkdir............ok
op/my...............ok
op/oct..............ok
op/ord..............ok
op/pack.............ok
op/pat..............ok
op/push.............ok
op/quotemeta........ok
op/rand.............ok
op/range............ok
op/read.............ok
op/readdir..........ok
op/recurse..........ok
op/ref..............ok
op/regexp...........ok
op/repeat...........ok
op/runlevel.........ok
op/sleep............ok
op/sort.............ok
op/split............ok
op/sprintf..........ok
op/stat.............ok
op/study............ok
op/subst............ok
op/substr...........ok      
op/sysio............ok
op/taint............ok
op/tie..............ok
op/time.............ok
op/undef............ok
op/universal........ok
op/unshift..........ok
op/vec..............ok
op/write............ok
pragma/constant.....ok
pragma/locale.......ok
pragma/overload.....ok
pragma/strict.......ok
pragma/subs.........ok
pragma/warning......ok
lib/abbrev..........ok
lib/anydbm..........ok
lib/autoloader......ok
lib/basename........ok
lib/bigint..........ok
lib/bigintpm........ok
lib/checktree.......ok
lib/complex.........ok
lib/db-btree........ok
lib/db-hash.........ok
lib/db-recno........ok
lib/dirhand.........ok
lib/dosglob.........ok
lib/english.........ok
lib/env.............ok
lib/filecache.......ok
lib/filecopy........ok
lib/filefind........ok
lib/filehand........ok
lib/filepath........ok
lib/findbin.........ok
lib/gdbm............ok
lib/getopt..........ok   
lib/hostname........ok
lib/io_dup..........ok
lib/io_pipe.........ok
lib/io_sel..........ok
lib/io_sock.........ok
lib/io_taint........ok
lib/io_tell.........ok
lib/io_udp..........ok
lib/io_xs...........ok
lib/ndbm............ok
lib/odbm............Bad free() ignored at lib/odbm.t line 63.
Bad free() ignored at (eval 4) line 2.
ok
lib/opcode..........ok
lib/open2...........ok
lib/open3...........ok
lib/ops.............ok
lib/parsewords......ok
lib/posix...........ok
lib/safe1...........ok
lib/safe2...........ok
lib/sdbm............ok
lib/searchdict......ok
lib/selectsaver.....ok
lib/socket..........ok
lib/soundex.........ok
lib/symbol..........ok      
lib/texttabs........ok
lib/textwrap........ok
lib/timelocal.......ok
lib/trig............ok
All tests successful.
Files=153,  Tests=4855, 245 secs (54.46 cusr 18.35 csys = 72.81 cpu)

Skunkware 98