RE: mod_perl as DSO on AIX with perl-5.6

2001-02-21 Thread Christian Gilmore

Woohoo! Jens, you rock. apache/mod_perl/DSO finally runs without immediate
segfault for me on aix.

Thanks,
Christian

> -Original Message-
> From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, February 21, 2001 7:30 AM
> To: Christian Gilmore
> Cc: 'Jens-Uwe Mager'; 'Modperl Mailing List (E-mail)'
> Subject: Re: mod_perl as DSO on AIX with perl-5.6
>
>
> On Wed, Feb 07, 2001 at 06:29:04PM -0600, Christian Gilmore wrote:
> > 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?
>
> Oops, gotcha. I had to do one change to a script in the perl
> distribution:
>
> --- perl-5.6.0/makedef.pl.origWed Feb 21 13:17:34 2001
> +++ perl-5.6.0/makedef.pl Wed Feb 21 13:17:56 2001
> @@ -165,7 +165,7 @@
>  ---EOP---
>  }
>  elsif ($PLATFORM eq 'aix') {
> -print "#!\n";
> +print "#! .\n";
>  }
>
>  my %skip;
>
> --
> Jens-Uwe Mager
>
> HELIOS Software GmbH
> Steinriede 3
> 30827 Garbsen
> Germany
>
> Phone:+49 5131 709320
> FAX:  +49 5131 709325
> Internet: [EMAIL PROTECTED]
>




Re: mod_perl as DSO on AIX with perl-5.6

2001-02-21 Thread Jens-Uwe Mager

On Wed, Feb 07, 2001 at 06:29:04PM -0600, Christian Gilmore wrote:
> 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?

Oops, gotcha. I had to do one change to a script in the perl
distribution:

--- perl-5.6.0/makedef.pl.orig  Wed Feb 21 13:17:34 2001
+++ perl-5.6.0/makedef.pl   Wed Feb 21 13:17:56 2001
@@ -165,7 +165,7 @@
 ---EOP---
 }
 elsif ($PLATFORM eq 'aix') {
-print "#!\n";
+print "#! .\n";
 }
 
 my %skip;

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:  +49 5131 709320
FAX:+49 5131 709325
Internet:   [EMAIL PROTECTED]



RE: mod_perl as DSO on AIX with perl-5.6

2001-02-07 Thread Christian Gilmore

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
1221Socket.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=0x2003, flags=6) at perl.c:1677
#5  0x100012f4 in S_call_list_body (cv=0x2003) 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 ) at perl.c:1249
#11 0x10008c30 in perl_parse (my_perl=0x2002b338,
xsinit=0x20020b18 , 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 0x11dc 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
>

Re: mod_perl as DSO on AIX with perl-5.6

2001-01-28 Thread Jens-Uwe Mager

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]



mod_perl as DSO on AIX with perl-5.6

2001-01-27 Thread Christian Gilmore

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?

Regards,
Christian

-
Christian Gilmore
Infrastructure & Tools Team Lead
Web & Multimedia Development
Tivoli Systems, Inc.