Réf. : Re: mp2 static build on HPUX11i: tests
Stas Bekman <[EMAIL PROTECTED]> 07/05/2004 19:31 Pour : [EMAIL PROTECTED] cc : "Philippe M. Chiasson" <[EMAIL PROTECTED]>, mod_perl Mailing List <[EMAIL PROTECTED]> Objet : Re: mp2 static build on HPUX11i: tests >>>2) the rest of the tests fail on $ENV{REMOTE_ADDR} and $r->remote_address >>>returning 0.0.0.0 instead of 127.0.0.1. Sounds like an ipv6 issue to me. but >>>since all those running ipv6 didn't report that problem that sounds as either >>>a bug in Apache on HPUX11i or some OS issues. Olivier, could you try a mod_cgi >>>script that prints out $ENV{REMOTE_ADDR}, when your client is running on the >>>same machine and when it's running from another machine? Thanks. >> I checked that variable through PHP. It gave me the same result : 0.0.0.0 >Perfect. So it's not an issue with mod_perl. >> What could I check to go further ? > I suppose it's your IPv6 setup. You probably have the localhost entry mapped > to ::1 in /etc/hosts? >::1 localhost Actually I donnot have this line in /etc/hosts >I suppose we could test for '127.0.0.1' || '0.0.0.0'. Any difference if you >replace it with: >127.0.0.1 localhost I always have the same result, even If I test from another host... So might it be a problem with Apache 2.0.49 ? -- Olivier
Re: mp2 static build on HPUX11i: tests
Hey Stas, Stas Bekman <[EMAIL PROTECTED]> 04/05/2004 19:38 Pour : [EMAIL PROTECTED], mod_perl Mailing List <[EMAIL PROTECTED]>, "Philippe M. Chiasson" <[EMAIL PROTECTED]> cc : Objet : Re: mp2 static build on HPUX11i: tests >2) the rest of the tests fail on $ENV{REMOTE_ADDR} and $r->remote_address >returning 0.0.0.0 instead of 127.0.0.1. Sounds like an ipv6 issue to me. but >since all those running ipv6 didn't report that problem that sounds as either >a bug in Apache on HPUX11i or some OS issues. Olivier, could you try a mod_cgi >script that prints out $ENV{REMOTE_ADDR}, when your client is running on the >same machine and when it's running from another machine? Thanks. I checked that variable through PHP. It gave me the same result : 0.0.0.0 What could I check to go further ? olivier
mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
1. Problem Description: While trying to load compiled DSO modperl in Apache, I got the following error : Syntax error on line 223 of /opt/hpws/apache2/conf/httpd.conf: Cannot load /opt/hpws/apache2/modules/mod_perl.so into server: Error 0 Perl and Apache have been compiled in 64 bits, modperl also. Apache and Perl are not compiled in debug mode (at this time, there is no debug mode for 64 bits). All is running on HPUX11i (uname -a => HP-UX w44h B.11.11 U 9000/800 1753907651 unlimited-user license) Does any one successfully compiled and run mod_perl in such situation ? Thanks for any help Olivier 2. Used Components and their Configuration: *** mod_perl version 1.9914 *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_APXS=> /opt/hpws/apache2/bin/apxs MP_COMPAT_1X => 1 MP_GENERATE_XS => 1 MP_LIBNAME => mod_perl MP_USE_DSO => 1 MP_USE_STATIC => 1 *** /opt/hpws/apache2/bin/httpd -V Server version: Apache/2.0.49 Server built: Apr 28 2004 10:02:11 Server's Module Magic Number: 20020903:7 Architecture: 64-bit Server compiled with -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/opt/hpws/apache2" -D SUEXEC_BIN="/opt/hpws/apache2/bin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" *** /opt/perl583/bin/perl -V Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration: Platform: osname=hpux, osvers=11.11, archname=PA-RISC2.0-thread-multi-LP64 uname='hp-ux loire b.11.11 u 9000800 1756907651 unlimited-user license ' config_args='-A prepend:libswanted=cl pthread -Accflags=+Z -Dusethreads -Duse64bitall -Duse64bitint -Dprefix=/opt/perl583' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 +Z -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ', optimize='+O2 +Onolimit', cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 +Z -I/usr/local/include' ccversion='B.11.11.04', gccversion='', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/usr/bin/ld', ldflags =' +DD64 -L/usr/local/lib -L/lib/pa20_64' libpth=/usr/local/lib /lib/pa20_64 /lib /usr/lib /usr/ccs/lib libs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc perllibs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred ' cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib -L/lib/pa20_64' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under h
mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
hello all, I finally manage to recompile mod_perl in static mod and Apache to be linked with mod_perl. It works correctly for now on. I just found a problem that I have to work on : in Apache error_log file I found the following lines : /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol 'modperl_bucket_sv_create' in load module '/opt/perl583/lib/site_perl/5.8.3/PA-RISC2.0-thread-multi-LP64/auto/APR/Bucket/Bucket.sl'. Thanks for your help, Olivier ---- Olivier Blanc Bureau SI6 / DFPRO / ET Ministère des Finances Tel.: +33(0)240 128 909 mailto:[EMAIL PROTECTED] Stas Bekman <[EMAIL PROTECTED]> 29/04/2004 19:42 Pour : olivier blanc <[EMAIL PROTECTED]> cc : [EMAIL PROTECTED] Objet : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache olivier blanc wrote: > 1. Problem Description: > > > While trying to load compiled DSO modperl in Apache, I got the following > error : > > > Syntax error on line 223 of /opt/hpws/apache2/conf/httpd.conf: > Cannot load /opt/hpws/apache2/modules/mod_perl.so into server: Error 0 > > > Perl and Apache have been compiled in 64 bits, modperl also. > Apache and Perl are not compiled in debug mode (at this time, there is > no debug mode for 64 bits). > All is running on HPUX11i (uname -a => HP-UX w44h B.11.11 U 9000/800 > 1753907651 unlimited-user license) > > > Does any one successfully compiled and run mod_perl in such situation ? We have several other platforms with the same problem. Do you have any other DSO modules that do load OK with Apache2? We afraid this has to do with DSO support on those platforms. So far nobody came out and volunteered to figure out what's wrong. So this issue is in flux. Philippe is working on a static build to solve this problem, We haven't integrated it, since it may change somewhat but give a try to his patch and instructions posted here: http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108310633610736&w=2 Please let us know if this worked for you. (obviously you want to remove the LoadModule instruction from your own server if you use the static build, but just passing the test suite would be great!) -- __ Stas Bekman JAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Réf. : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
Hey, I managed to go further in the compilation and tests. Here is the last test report : Failed Test Stat Wstat Total Fail Failed List of Failed -- t/api/module.t 11 1 9.09% 6 t/apr/netlib.t 5 1 20.00% 5 t/compat/conn_rec.t 4 1 25.00% 3 t/modperl/setupenv.t 63 6 9.52% 8 22 29 36 50 57 t/preconnection/note.t 1 1 100.00% 1 8 tests skipped. I also attach the error_log file for this test. The problem that I reported earlier is gone (I compiled the ARP::Bucket with the static mod_perl.la library). So Could we say that this is almost good ? Do you need me to report all the modifications that I made, and if so in what form ? Thanks for the help you gave to me, Olivier Stas Bekman <[EMAIL PROTECTED]> 30/04/2004 19:03 Pour : [EMAIL PROTECTED] cc : [EMAIL PROTECTED], "Philippe M. Chiasson" <[EMAIL PROTECTED]> Objet : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache [EMAIL PROTECTED] wrote: > hello all, > > I finally manage to recompile mod_perl in static mod and Apache to be > linked with mod_perl. > It works correctly for now on. Fantastic. You are the first user to try the static mod_perl 2! Did the test suite pass 100%? > I just found a problem that I have to work on : > in Apache error_log file I found the following lines : When did it happen? During the startup? Inside the test suite? > /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol > 'modperl_bucket_sv_create' in load module > '/opt/perl583/lib/site_perl/5.8.3/PA-RISC2.0-thread-multi-LP64/auto/APR/Bucket/Bucket.sl'. That means that something was loading APR::Bucket w/o mod_perl environment. Try to set: use Carp; $SIG{__DIE__} = \&Carp::confess; at the top of your startup file or sections and it should show you where that code was invoked from. __ Stas Bekman JAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com error_log.2 Description: Binary data -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
Hi all, Sorry, I had a miss reading of the result. I was too excited when all compilation pass thru and when I saw that apache server started sucessfully... All tests failure reported below are due to this Bucket.sl problem. How can I figure out what is going on, and How can I try to fix the problem ? BTW, I had to modify a bit the "config_vars.mk" file from Apache. Also, during the Makefile.PL step, I had to modify the ldflags variable to remove the "+DD64" flag that the linker doesn't like at all. I'll post all that when erverytings will work properly. Thanks for help, Olivier Olivier Blanc Bureau SI6 / DFPRO / ET Ministère des Finances Tel.: +33(0)240 128 909 mailto:[EMAIL PROTECTED] Stas Bekman <[EMAIL PROTECTED]> 30/04/2004 19:29 Pour : cc : [EMAIL PROTECTED], [EMAIL PROTECTED], "Philippe M. Chiasson" <[EMAIL PROTECTED]> Objet : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache [Olivier, please remember to keep the messages on the list. Thanks] So your error log shows that there are quite a few problem. How is it possible that you did get 'make test' to pass. Or did it? === # Failed test 6 in /var/tmp/apache_perl/modperl-2.0/t/response/TestAPI/module.pm at line 87 /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol 'modperl_bucket_sv_create' in load module '/var/tmp/apache_perl/modperl-2.0/blib/arch/auto/APR/Bucket/Bucket.sl '. [Fri Apr 30 17:51:06 2004] [notice] child pid 5003 exit signal Illegal instruction (4) # Failed test 5 in /var/tmp/apache_perl/modperl-2.0/t/response/TestAPR/netlib.pm at line 46 [Fri Apr 30 17:53:38 2004] [error] [client 0.0.0.0] Can't dup STDIN: Bad file number at /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/io_with_closed_s tds.pm line 24.\n # Failed test 8 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 35 # Failed test 22 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 115 # Failed test 29 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 35 fail #2 # Failed test 36 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 35 fail #3 # Failed test 50 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 35 fail #4 # Failed test 57 in /var/tmp/apache_perl/modperl-2.0/t/response/TestModperl/setupenv.pm at line 115 fail #2 = So you have a bunch of these errors: /usr/lib/pa20_64/dld.sl: Unsatisfied code symbol 'modperl_bucket_sv_create' in Is nm(1) working on your platform? If so, please try: nm /path/to/your/httpd | grep modperl_bucket_sv_create __ Stas Bekman JAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html
Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
Stas Bekman <[EMAIL PROTECTED]> 04/05/2004 19:25 Pour : [EMAIL PROTECTED], mod_perl Mailing List <[EMAIL PROTECTED]> cc : Objet : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache >>>So you have a bunch of these errors: >>>/usr/lib/pa20_64/dld.sl: Unsatisfied code symbol >> >> 'modperl_bucket_sv_create' in >> >>>Is nm(1) working on your platform? If so, please try: >>>nm /path/to/your/httpd | grep modperl_bucket_sv_create >> >> >> It does not find modperl_bucket_sv_create in httpd file. >Show us the linking output when it creates mod_perl.a. After the build is >complete on my machine I'd do: >% rm src/modules/perl/mod_perl.a >% make >cd "src/modules/perl" && make -f Makefile.modperl >make[1]: Entering directory `/home/stas/apache.org/mp2-xcpt/src/modules/perl' >rm -f mod_perl.a >ar crv mod_perl.a mod_perl.o modperl_interp.o modperl_tipool.o modperl_log.o >modperl_config.o modperl_cmd.o modperl_options.o modperl_callback.o >modperl_handler.o modperl_gtop.o modperl_util.o modperl_io.o >modperl_io_apache.o modperl_filter.o modperl_bucket.o modperl_mgv.o >modperl_pcw.o modperl_global.o modperl_env.o modperl_cgi.o modperl_perl.o >modperl_perl_global.o modperl_perl_pp.o modperl_sys.o modperl_module.o >modperl_svptr_table.o modperl_const.o modperl_constants.o >modperl_apache_compat.o modperl_error.o modperl_hooks.o modperl_directives.o >modperl_flags.o modperl_xsinit.o ... >So you are after this line: >a - modperl_bucket.o Ok it is present >Checking: >% nm mod_perl.a | grep modperl_bucket_sv_create >01e2 T modperl_bucket_sv_create* Here is the result : [37] | 0| 92|FUNC |GLOB |0| .text|modperl_bucket_sv_create >So as you can see it has this symbol. You can check the original file as well: >% nm modperl_bucket.o | grep modperl_bucket_sv_create >01e2 T modperl_bucket_sv_create Here is the result : [37] | 0| 92|FUNC |GLOB |0| .text|modperl_bucket_sv_create Olivier
Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache
Stas Bekman <[EMAIL PROTECTED]> 05/05/2004 19:56 Pour : [EMAIL PROTECTED] cc : mod_perl Mailing List <[EMAIL PROTECTED]> Objet : Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache >>>% nm modperl_bucket.o | grep modperl_bucket_sv_create >>>01e2 T modperl_bucket_sv_create >> >> Here is the result : >> [37] | 0| 92|FUNC |GLOB |0| .text|modperl_bucket_sv_create >Sorry, I'm not familiar with nm's output on your platform. What does 0 mean? >That it's unresolved? What do you get for other symbols (just to compare), e.g. > nm mod_perl.a | grep modperl_callback [EMAIL PROTECTED]:/var/tmp/apache_perl/modperl-2.0/src/modules/perl> nm mod_perl.a | grep modperl_callback [197] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_per_dir [117] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_process [59] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_per_dir [94] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback Symbols from mod_perl.a[modperl_callback.o]: [11] | 0| 8|OBJT |LOCAL|0| .rodata|S$158$modperl_callback [32] | 0| 1852|FUNC |GLOB |0| .text|modperl_callback [84] | 0| 68|FUNC |GLOB |0| .text|modperl_callback_connection [87] | 0| 64|FUNC |GLOB |0| .text|modperl_callback_files [82] | 0| 68|FUNC |GLOB |0| .text|modperl_callback_per_dir [83] | 0| 68|FUNC |GLOB |0| .text|modperl_callback_per_srv [85] | 0| 68|FUNC |GLOB |0| .text|modperl_callback_pre_connection [86] | 0| 68|FUNC |GLOB |0| .text|modperl_callback_process [64] | 0| 1316|FUNC |GLOB |0| .text|modperl_callback_run_handlers [66] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback [38] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_connection [56] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_files [44] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_per_dir [52] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_per_srv [42] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_pre_connection [40] | 0| 0|FUNC |GLOB |0| UNDEF|modperl_callback_process Here is a part of man nm Default Output Format - 64 bit If the default (neither the -p nor the -P option) output format is specified, each symbol has the following columns, separated by vertical bars (|). The default for numbers is decimal (-d or -t d). If decimal: "[%u]%s|%22llu|%8u|%s|%s|%1d|%s|%s", index, value, size, type, bind, O, shndx, name If octal: "[%u]%s|%022llo|%010o|%s|%s|%1o|%s|%s", index, value, size, type, bind, O, shndx, name If hexadecimal: "[%u]%s|0x%016llx|0x%08x|%s|%s|%1x|%s|%s", index, value, size, type, bind, O, shndx, name The descriptions are explained below: name The name of the symbol. value Its value expressed as an offset or an address depending on its storage class. scope The scope of the symbol (external, sdef, static, or undefined). The sdef scope indicates an external symbol that is flagged as a secondary definition. type The type of the symbol (absolute, arg_ext, code, data, entry, milli_ext, millicode, module, null, oct_dis, plabel, pri_prog, sec_prog, storage, stub, sym_ext, tstor). subspace The subspace to which the symbol belongs. bind Specifies the symbol binding type (local, weak, global). O This field is used for files that have large section tables (>65K sections). For smaller files, the value of this field is 0. Shndx Identifies the index of the section that the symbol belongs to. Identifies the index of the symbol in the symbol table. Olivier
Re: mp2 static build on HPUX11i: tests
Hello, I am comming back on the client IP address problem that I have. On my HPux system, I could reproduce the problem with a small program that listen on a socket and try to print remote address. Depending on compilation mode, the field that store the address length doesnt have the same type. Which cause the problem to me. I am in the process of recompiling Apache with the type forced to int, and I will let you know how it turns. But anyway, this would mean that this problem is definitely not a problem of mod_perl. So, the last problem that I see is the linking problem... I'll continue to investigate on that point. Thanks for your help during all this process. olivier Stas Bekman <[EMAIL PROTECTED]> 10/05/2004 09:37 Pour : [EMAIL PROTECTED] cc : "Philippe M. Chiasson" <[EMAIL PROTECTED]>, mod_perl Mailing List <[EMAIL PROTECTED]> Objet : Re: Réf. : Re: mp2 static build on HPUX11i: tests [EMAIL PROTECTED] wrote: [...] >>Perfect. So it's not an issue with mod_perl. > > >>>What could I check to go further ? >> >>I suppose it's your IPv6 setup. You probably have the localhost entry > > mapped > >>to ::1 in /etc/hosts? >>::1 localhost > > > Actually I donnot have this line in /etc/hosts What do you have in there? Could it be that on your platform it resides in some other file? >>I suppose we could test for '127.0.0.1' || '0.0.0.0'. Any difference if > > you > >>replace it with: >>127.0.0.1 localhost > > > I always have the same result, even If I test from another host... So > might it be a problem with Apache 2.0.49 ? I don't know. Could you ask at the apache users list[1]? Don't mention mod_perl, say that you get 0.0.0.0 with mod_php or mod_cgi using $ENV{REMOTE_ADDR} and ask why, giving the other details (platforms, sample script/etc). [1] http://httpd.apache.org/lists.html#http-users -- __ Stas Bekman JAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html