When I do "dump -nv httpd  | egrep 'ap_palloc|ap_table'" I don't get any
output.

I went into the apache_1.3.12/src directory and manually compiled httpd with
the same command issued by make with the addition of -bE:support/httpd.exp.
The complete command looked like this:

cc  -DAIX=43 -U__STR__ -DAIX_BIND_PROCESSOR -qnogenpcomp -qnousepcomp -DMOD_
PERL
 -DUSE_PERL_SSI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=1638
4 -I
/usr/local/include -q32 -D_LARGE_FILES -qlonglong -DUSE_HSREGEX -DUSE_EXPAT 
-I./
lib/expat-lite -DNO_DL_NEEDED `./apaci` -lm -o httpd buildmark.o modules.o
modul
es/perl/libperl.a modules/standard/libstandard.a main/libmain.a
./os/unix/libos.
a ap/libap.a regex/libregex.a
ib/expat-lite/libexpat.a  -bE:/usr/local/lib/perl
5/5.6.0/aix/CORE/perl.exp  -L/usr/local/lib -b32
/usr/local/lib/perl5/5.6.0/aix/
auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.6.0/aix/CORE -lperl -l
bind
 -lnsl -ldbm -ldl -lld -lm -lC -lc -lcrypt -lbsd -lPW -liconv -bE:support/ht
tpd.
exp

Now a "dump -nv httpd  | egrep 'ap_palloc|ap_table'" looks like:

[412]   0x20039330    .data      EXP     DS SECdef        [noIMid]
ap_table_merge
[413]   0x2003933c    .data      EXP     DS SECdef        [noIMid]
ap_table_add
[440]   0x20039834    .data      EXP     DS SECdef        [noIMid]
ap_overlap_tables
[442]   0x2003984c    .data      EXP     DS SECdef        [noIMid]
ap_table_do
[443]   0x20039858    .data      EXP     DS SECdef        [noIMid]
ap_table_addn
[444]   0x20039864    .data      EXP     DS SECdef        [noIMid]
ap_table_unset
[445]   0x20039870    .data      EXP     DS SECdef        [noIMid]
ap_table_mergen
[446]   0x2003987c    .data      EXP     DS SECdef        [noIMid]
ap_table_setn
[447]   0x20039888    .data      EXP     DS SECdef        [noIMid]
ap_table_set
[448]   0x20039894    .data      EXP     DS SECdef        [noIMid]
ap_table_get
[465]   0x20039960    .data      EXP     DS SECdef        [noIMid] ap_palloc
        0x2003d64c  0x0000019f   Pos_Rel      0x0002     ap_table_merge
        0x2003d650  0x000001a0   Pos_Rel      0x0002     ap_table_add

I then did an apache 'make install', even though I think that the Embperl
compile and test processes use the source-code version of httpd...

Now a "make test" of Embperl still gives the following results:

$ make test
PERL_DL_NONLAZY=0
/usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/
aix -I/usr/local/lib/perl5/5.6.0 test.pl

loading...                    Can't load
'blib/arch/auto/HTML/Embperl/Embperl.so' for modu
le HTML::Embperl: dlopen: blib/arch/auto/HTML/Embperl/Embperl.so: 30
blib/arch/auto/HTML/
Embperl/Embperl.so36 ap_get_client_block 131 perl36 ap_log_error 132 perl36
ap_palloc 133
perl36 ap_pstrdup 134 perl36 ap_rflush 135 perl36 ap_rputc 136 perl36
ap_rwrite 137 perl36
 ap_send_http_header 138 perl36 ap_set_content_length 139 perl36
ap_setup_client_block 140
 perl36 ap_should_client_block 141 perl36 ap_table_add 142 perl36
ap_table_set 143 perl at
 /usr/local/lib/perl5/5.6.0/aix/DynaLoader.pm line 200.
 at test.pl line 557
Compilation failed in require at test.pl line 557.
BEGIN failed--compilation aborted at test.pl line 557.
make: *** [test_dynamic] Error 255






-----Original Message-----
From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 14, 2000 5:54 PM
To: Greg Estep
Cc: Jens-Uwe Mager; [EMAIL PROTECTED]
Subject: Re: non-DSO mod_perl, Embperl, and AIX not working


On Wed, Jun 14, 2000 at 05:37:59PM -0400, Greg Estep wrote:
>
> I don't have a httpd.exp in /usr/local/apache/libexec.  I assume that is
> because I am not using DSO for any of my apache modules.  I
> used -bI:<apache-source-dir>/src/support/httpd.exp and got a clean
> compile/link.

Well, Apache's make install probably assumes that it is not needed in
this case, which is not entirely true as can be seen from this
situation.

> When I try 'make test', I get:
>
> $ make test
> PERL_DL_NONLAZY=0
>
/usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/aix
> -I/usr/local/lib/perl5/5.6.0 test.pl
>
> loading...                    Can't load
> 'blib/arch/auto/HTML/Embperl/Embperl.so
> ' for module HTML::Embperl: dlopen:
blib/arch/auto/HTML/Embperl/Embperl.so:
> 30
> blib/arch/auto/HTML/Embperl/Embperl.so36 ap_get_client_block 131 perl36
> ap_log_e
> rror 132 perl36 ap_palloc 133 perl36 ap_pstrdup 134 perl36 ap_rflush 135
> perl36
> ap_rputc 136 perl36 ap_rwrite 137 perl36 ap_send_http_header 138 perl36
> ap_set_c
> ontent_length 139 perl36 ap_setup_client_block 140 perl36
> ap_should_client_block
>  141 perl36 ap_table_add 142 perl36 ap_table_set 143 perl at
> /usr/local/lib/perl
> 5/5.6.0/aix/DynaLoader.pm line 200.
>  at test.pl line 557
> Compilation failed in require at test.pl line 557.
> BEGIN failed--compilation aborted at test.pl line 557.
> make: *** [test_dynamic] Error 255

Well this surely looks like your Apache main part does not export the
symbols in question, does a dump -nv httpd list the symbols in question
like this?

[207]   0x20007458    .data      EXP     DS SECdef        [noIMid]
ap_table_set

--
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

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

Reply via email to