Recompiling with dl_dlopen.xs instead of dl_aix.xs caused 49 of the 180
self-tests to fail. I recompiled with debugging turned on and ran against
GDB. Here's the result followed by the output of './perl -I./lib -V'.
Jens, did you have success running with dl_dlopen.xs without other
modification?
Regards,
Christian
web1-jr% gdb ./perl
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "rs6000-ibm-aix4.3.3.0"...
(gdb) set args t/lib/socket.t
(gdb) run
Starting program: /home/cgilmore/src/perl-5.6.0/./perl t/lib/socket.t
Program received signal SIGSEGV, Segmentation fault.
0xd1cc7534 in boot_Socket (cv=0x200851a8) at Socket.c:1221
1221 Socket.c: No such file or directory.
(gdb) bt
#0 0xd1cc7534 in boot_Socket (cv=0x200851a8) at Socket.c:1221
#1 0x100b2818 in Perl_pp_entersub () at pp_hot.c:2533
#2 0x10091064 in Perl_runops_debug () at run.c:56
#3 0x100013ac in S_call_body (myop=0x2ff22078, is_eval=0) at perl.c:1761
#4 0x100064cc in Perl_call_sv (sv=0x20038888, flags=6) at perl.c:1677
#5 0x100012f4 in S_call_list_body (cv=0x20038888) at perl.c:3600
#6 0x10008534 in Perl_call_list (oldscope=1, paramList=0x20038804)
at perl.c:3528
#7 0x100993f4 in Perl_newATTRSUB (floor=78, o=0x2003c338, proto=0x0,
attrs=0x0, block=0x2003c478) at op.c:4641
#8 0x10099f3c in Perl_utilize (aver=1, floor=78, version=0x0,
id=0x2002bb78,
arg=0x0) at op.c:3162
#9 0x10092b70 in Perl_yyparse () at perly.y:403
#10 0x100023dc in S_parse_body (env=0x0,
xsinit=0x20020b18 <PL_no_wrongref+5736>) at perl.c:1249
#11 0x10008c30 in perl_parse (my_perl=0x2002b338,
xsinit=0x20020b18 <PL_no_wrongref+5736>, argc=2, argv=0x2ff229c4,
env=0x0)
at perl.c:857
#12 0x10001070 in main (argc=2, argv=0x2ff229c4, env=0x2ff229d0)
at perlmain.c:50
#13 0x100001dc in __start ()
web1-jr% ./perl -I./lib -V
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
Platform:
osname=aix, osvers=4.3.3.0, archname=aix
uname='aix web1-jr 3 4 000528df4c00 '
config_args='-d'
hint=previous, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cc', optimize='-g', gccversion=
cppflags=''
ccflags
='-DDEBUGGING -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=1638
4 -I/usr/vac/include -I/opt/gnu/include'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='ld', ldflags ='-L/usr/vac/lib -L/opt/gnu/lib'
libpth=/opt/gnu/lib /usr/vac/lib /lib /usr/lib /usr/ccs/lib
libs=-lbind -lnsl -ldbm -ldl -lld -lm -lC -lc -lcrypt -lbsd -lPW -liconv
libc=, so=a, useshrplib=false, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
cdlflags=' -bE:/opt/gnu/depot/perl-5.6.0/lib/5.6.0/aix/CORE/perl.exp -bE:
/opt/gnu/depot/perl-5.6.0/lib/5.6.0/aix/CORE/perl.exp -bE:/opt/gnu/depot/p
erl-5.6.0/lib/5.6.0/aix/CORE/perl.exp -bE:/opt/gnu/depot/perl-5.6.0/lib/5.
6.0/aix/CORE/perl.exp'
cccdlflags=' ',
lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(BASEEXT).exp -b
noentry -lC -lc -L/opt/gnu/lib -L/usr/vac/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING
Built under aix
Compiled at Feb 7 2001 18:22:19
@INC:
./lib
/opt/gnu/depot/perl-5.6.0/lib/5.6.0/aix
/opt/gnu/depot/perl-5.6.0/lib/5.6.0
/opt/gnu/depot/perl-5.6.0/lib/site_perl/5.6.0/aix
/opt/gnu/depot/perl-5.6.0/lib/site_perl/5.6.0
/opt/gnu/depot/perl-5.6.0/lib/site_perl
.
> -----Original Message-----
> From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
> Sent: Sunday, January 28, 2001 8:46 AM
> To: Christian Gilmore
> Cc: Modperl Mailing List (E-mail)
> Subject: Re: mod_perl as DSO on AIX with perl-5.6
>
>
> On Sat, Jan 27, 2001 at 01:42:44PM -0600, Christian Gilmore wrote:
>
> > Hey. I see in mod_perl's INSTALL document that there's a
> required patch
> > for DynaLoader if you intend to run mod_perl as DSO on AIX
> (4.3) with
> > perl-5.005_3. Is patching required for 5.6? If so, will the
> same patch in
> > the INSTALL doc apply?
>
> Unfortunately this is a bit complicated and it depends upon
> AIX version.
> For AIX versions before 4.3 yes, and I posted the patch on this list a
> while ago. But as you are using AIX 4.3 this is not required
> any more if
> you are careful upon configuring perl. The Configure script
> on AIX will
> offer to use the pre-AIX 4.3 specific dynamic loader dl_aix.xs, but do
> not use that, use dl_dlopen.xs instead. Apache does that configuration
> decision automatically nowadays.
>
> The point is that on earlier AIX versions it was needed to
> use a set of
> emulation routines to emulate the dlopen family of routines
> with the AIX
> native facilities. In later versions IBM added dlopen so the emulation
> is not necessary. Indeed it appears that if both the AIX native dlopen
> (referenced from Apache) and the emulation one (referenced
> from Perl) is
> used in one process a conflict arises causing Apache module loads to
> fail.
>
> --
> Jens-Uwe Mager
>
> HELIOS Software GmbH
> Steinriede 3
> 30827 Garbsen
> Germany
>
> Phone: +49 5131 709320
> FAX: +49 5131 709325
> Internet: [EMAIL PROTECTED]
>