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.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
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 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 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 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
Re: mod_perl and DSO
What would you say with shared core? The unix server can use DSO and the DSO servlet module works fine Francis - Original Message - From: "Jens-Uwe Mager" [EMAIL PROTECTED] To: "Francis" [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, January 29, 2001 5:53 PM Subject: Re: mod_perl and DSO On Mon, Jan 29, 2001 at 05:26:46PM +0100, Francis wrote: I'm running Apache 1.3.12 on my unix server (RM400 Siemens) with Sinix 5.44. Perl 5.00404 is installed The DSO module for servlets is also installed and works fine. I try to install the DSO mod_perl 1.24 with ./configure --with-apxs=/usr/./apx follow by make and make install in the subdirectory apaci of mod_perl. when I try ./apachectl configtest I receive the error msg Syntax error in line 236 of /usr/httpd.conf: Cannot load /usr/../libexec/libperl.so into server: ld.so: /usr/./httpd: relocation error: symbol not found: Perl_incgv - the line 236 is : LoadModule perl_module libexec/libperl.so - libperl.so is correct and in the right place - apache works fine without the 236 line in httpd.conf I would suspect that on plain old S5R4 machines you must build perl with a shared core. -- Jens-Uwe Mager HELIOS Software GmbH Steinriede 3 30827 Garbsen Germany Phone: +49 5131 709320 FAX: +49 5131 709325 Internet: [EMAIL PROTECTED]
mod_perl and DSO
I'm running Apache 1.3.12 on my unix server (RM400 Siemens) with Sinix 5.44. Perl 5.00404 is installed The DSO module for servlets is also installed and works fine. I try to install the DSO mod_perl 1.24 with ./configure --with-apxs=/usr/./apx follow by make and make install in the subdirectory apaci of mod_perl. when I try ./apachectl configtest I receive the error msg Syntax error in line 236 of /usr/httpd.conf: Cannot load /usr/../libexec/libperl.so into server: ld.so: /usr/./httpd: relocation error: symbol not found: Perl_incgv - the line 236 is : LoadModule perl_module libexec/libperl.so - libperl.so is correct and in the right place - apache works fine without the 236 line in httpd.conf Francis
Re: mod_perl and DSO
On Mon, Jan 29, 2001 at 05:26:46PM +0100, Francis wrote: I'm running Apache 1.3.12 on my unix server (RM400 Siemens) with Sinix 5.44. Perl 5.00404 is installed The DSO module for servlets is also installed and works fine. I try to install the DSO mod_perl 1.24 with ./configure --with-apxs=/usr/./apx follow by make and make install in the subdirectory apaci of mod_perl. when I try ./apachectl configtest I receive the error msg Syntax error in line 236 of /usr/httpd.conf: Cannot load /usr/../libexec/libperl.so into server: ld.so: /usr/./httpd: relocation error: symbol not found: Perl_incgv - the line 236 is : LoadModule perl_module libexec/libperl.so - libperl.so is correct and in the right place - apache works fine without the 236 line in httpd.conf I would suspect that on plain old S5R4 machines you must build perl with a shared core. -- 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
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
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.
Re: child seg fault (11) with mod_perl as DSO (Sol 8, perl 5.6, gcc 2.95.2)
* Gary Goldberg | | Hello. I am build a machine from scratch, so I've done this: | | 1. Installed clean Solaris 8 Intel. | 2. Installed SFWgcc (2.95.2) from Solaris install. | 3. Used Solaris-installed perl 5.005 to build perl 5.6 in /opt. (Everything | in /opt). | 4. Used CPAN to install libnet, MD5, CPAN bundles. | 5. Installed Mysql 3.23.26 into /opt. | 6. Installed Bundle::Mysql, Bundle::Apache using CPAN. | 7. Installed Berkeley db 3.1 into /opt. | 8. Reinstalled perl 5.6 using -Ubincomat5005 enabling large file support. | 8. Used clean dists of apache 1.3.14, php 4.03pl1, mod_perl 1.24. | |Built apache using suexec config, --enable=module=most --enable-shared-max |with largefile support. Make, install. | |Built mod_perl using USE_APXS=1 WITH_APXS=/opt/apache/bin/apxs EVERYTHING=1 |and make, install. | |Built php4 using APXS. Make, install. | | Everything seems fine, but when I try to access the status module or the | webroot home page I get "child exit segmentation fault (11)". | | All previous messages in the list archive did not seem to apply, although | I tried their suggestions also. Nothing seems to work and I am stuck | here, Any ideaa? THanks to all in advance, -Gary I've got the same sigsegv problem, though not with perl 5.6.0 only 5.00503 and 500404 and only on linux/x86 and linux/ppc, solaris/usparc works fine. DSO or no DSO doesn't seem to matter. I'm trying to do some debugging of this problem, but haven't gotten very far. Actually I only have the Apache::Status sigsegv on one build on linux/x86. _BUT_ I've got another homemade module that dies on every linux build that doesn't use 5.6. It's a real show stopper, but it's forcing me to learn a little more about gdb and c every day :) Any advances you do in tracing this problem, please let me know. (bo) Head Engineer Center for Information Technology Services University of Oslo
Re: mod_perl as DSO
I guess people sometimes confuse my email address with [EMAIL PROTECTED] Bouncing it to the right direction. yOn Tue, 29 Aug 2000, Kairam, Raj wrote: I am trying to build mod_perl-1.24 in to apache_1.3.12 as a DSO on a HP-UX 11.0 (32 bit) machine which has HP's ansi C compiler. The command 'perl Makefile.PL `cat ../mod_perl.txt` ' runs OK.. The mod_perl.txt is a file where I specified USE_DSO=1, EVERYTHING=1 etc and APACI_ARGS=--enable-shared=env, etc. This is the input for 'perl Makefile.PL' command mod_perl.txt The command 'make' fails with an error "ld: Unrecognized argument: -Wl,-E". I am assuming these are from the PERL_LIBS= line in the Makefile that is causing the failure. This is the /opt/apache_1.3.12/src/modules/perl/Makefile Makefile.txt This is the output from 'make' command make_1.txt When I edit the /opt/apache_1.3.12/src/modules/perl/Makefile to remove "-Wl,-E -Wl,-B,deferred" from the PERL_LIBS= line I get the error "ld: Can't find library for -lperl". When I edit the line to have "-L/opt/perl5/lib/5.00503/PA-RISC1.1/CORE/libperl.a in place of -lperl and run make I get error "ld: DP relative code in file /opt/perl5/lib/5.00503/PA-RISC1.1/auto/DynaLoader/DynaLoader.a (DynaLoader.o) - shared library must be position independent. Use +z or +Z to recompile. When I try editing the line to remove /opt/perl5/lib/5.00503/PA-RISC1.1/auto/DynaLoader/DynaLoader.a make now gives me the error "Make: Don't know how to make lib/Apache/Myconfig.pm. Stop". Please take a look at the Makefile.txt above and in particular the line for PERL_LIBS= and also the file Make_1.txt which has the 'ld' command at the end with all those problem options. Where can I get help for mod_perl installation into Apache as a DSO specifically on HP-UX 11.0 platform ?. I can't believe nobody uses that platform for mod_perl. Please help. Thanks Raj Kairam [EMAIL PROTECTED] _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com http://singlesheaven.com http://perlmonth.com perl.org apache.org
Problem running httpd.. mod_perl 1.24 (DSO) and other DSOs
Hi, I'm building a new box (FreeBSD 4.0-RELEASE, w/ 5.005_03) with a largely DSO-driven Apache. I've got mod_perl 1.24 built as a DSO, and it runs fine. [Since this is a production box located about 100 miles from me, maintained over a modem(!) I'd really rather not reinstall Perl.. 5.005_03's what comes out of the box with FreeBSD 4.0-RELEASE, and I'm trying to keep this machine as generic as possible. Mod_perl's going in as a DSO because I'm using the same basic apache build for 4 jails -- some with mod_perl, some without.] However, when I add in a few other DSOs, httpd coredumps. The gdb output for httpd -X: - Program received signal SIGSEGV, Segmentation fault. 0x2810d654 in tzset () from /usr/lib/libc.so.4 (gdb) bt #0 0x2810d654 in tzset () from /usr/lib/libc.so.4 #1 0x2810d76b in localtime () from /usr/lib/libc.so.4 #2 0x2810dc25 in ctime () from /usr/lib/libc.so.4 #3 0x2812b8f2 in .cerror () from /usr/lib/libc.so.4 #4 0x2825cd21 in _thread_fd_lock_debug () from /usr/lib/libc_r.so.4 #5 0x2825a5ee in ioctl () from /usr/lib/libc_r.so.4 #6 0x2812b356 in tcgetattr () from /usr/lib/libc.so.4 #7 0x281299c6 in isatty () from /usr/lib/libc.so.4 #8 0x28129106 in __smakebuf () from /usr/lib/libc.so.4 #9 0x281197c3 in __srefill () from /usr/lib/libc.so.4 #10 0x281196a0 in __srget () from /usr/lib/libc.so.4 #11 0x2833e2c5 in Perl_sv_gets () from /usr/lib/libperl.so.3 #12 0x283647b1 in Perl_filter_read () from /usr/lib/libperl.so.3 #13 0x2836586f in Perl_yylex () from /usr/lib/libperl.so.3 #14 0x28360178 in Perl_yyparse () from /usr/lib/libperl.so.3 #15 0x2837871d in perl_parse () from /usr/lib/libperl.so.3 #16 0x282c2b1c in perl_startup () from /app/pkg/apache/libexec/libperl.so #17 0x282c2643 in perl_module_init () from/app/pkg/apache/libexec/libperl.so #18 0x8055dc8 in ap_init_modules () #19 0x806018b in main () #20 0x804e8b5 in _start () - The modules are pretty much skeletons, but link in the MySQL client library: apxs -c -L/app/pkg/mysql/lib/mysql/ -I/app/pkg/mysql/include/ \ -lmysqlclient -lm mod_aroma.c Right now, my workaround is NOT loading mod_perl.so. However, that's not a great solution! =) The mod_aroma module works fine when mod_perl isn't in there. This behaviour also happens when I use the DSO version of mod_auth_mysql at ftp.kcilink.com/pub I've got !clue. Any idea what it could be? Thanks in advance, Tom -- Tom Gidden Gid's Games e: [EMAIL PROTECTED]
Httpd.conf and mod_perl as DSO
Hi, I've just gotten a server setup with iserver and have installed mod_perl as per instructions however I am at a loss to figure out where my mod_perl scripts are supposed to reside. As per iserver directions I have added LoadModule perl_module modules/mod_perl.so to my httpd.conf. Apache is coming up fine and the Header line is telling me that mod_perl was successfully loaded. However, I am unable to figure out how to specify the directory where my files should be picked up and processed as mod_perl ones. Would greatly appreciate help. Thanks Gagan ** Web App Development Needs? *** Contact OSATech today! http://www.OSATech.com *** - Original Message - From: "Robert Jenks" [EMAIL PROTECTED] To: "'Ken Y. Clark'" [EMAIL PROTECTED]; "modperl (E-mail)" [EMAIL PROTECTED] Sent: Saturday, April 15, 2000 1:36 AM Subject: RE: Compiler errors... Thanks Ken! It worked like a charm! -Robert
mod_perl as DSO on AIX...
This message was sent from Geocrawler.com by "Mark Haviland" [EMAIL PROTECTED] Be sure to reply to that address. I'm (still) trying to compile mod_perl as a DSO on AIX. trying the flexable-way, I am able to compile and install, but upon starting the server I get: Syntax error on line 209 of /usr/hsi/apache/conf/httpd.conf: Can't locate API module structure `perl_module' in file /usr/hsi/apache/libexec/libperl.so: Function not implemented (perl_module) ./bin/apachectl start: httpd could not be started Anybody run across this ? Have any idea what it means ? I'm using: AIX 4.3.1 Apache 1.3.11 mod_perl 1.21 thanks -Mark Geocrawler.com - The Knowledge Archive
Re: mod_perl as DSO on AIX...
Mark Haviland wrote: This message was sent from Geocrawler.com by "Mark Haviland" [EMAIL PROTECTED] Be sure to reply to that address. I'm (still) trying to compile mod_perl as a DSO on AIX. trying the flexable-way, I am able to compile and install, but upon starting the server I get: Syntax error on line 209 of /usr/hsi/apache/conf/httpd.conf: Can't locate API module structure `perl_module' in file /usr/hsi/apache/libexec/libperl.so: Function not implemented (perl_module) ./bin/apachectl start: httpd could not be started Anybody run across this ? Have any idea what it means ? I'm using: AIX 4.3.1 Apache 1.3.11 mod_perl 1.21 What compiler are you using? I have had problems building a nonstatic perl with gcc. Kent -- Groovy! Smashing! Yay capitalism! - Austin Powers, Man of Mystery