On Thu, Mar 22, 2001 at 08:15:48PM +0200, Aivo Kalu wrote:
> >And this exactly has the httpd.exp file that is needed to resolve the
> >external references to the ap_* symbols. Did you install modperl
> >properly before making Embperl? This should have installed Apache::src,
> >which is used to find various extra flags for building Embperl. What
> >does the following command print?
> >
> >$ perl -MApache::src -le "print Apache::src->new->otherldflags;"
> >-bI:/data/jum/perl/lib/site_perl/5.6.1/aix/auto/Apache/mod_perl.exp
> >-bI:/usr/local/apache/libexec/httpd.exp
> I did the following:
> 
>   462  make distclean
>   463  rm -rf /usr/local/lib/perl5/site_perl/5.6.0/aix/Apache*
>   464  perl Makefile.PL EVERYTHING=1 DO_HTTPD=1 USE_APACI=1
> APACI_ARGS="--enable-module=most --enable-shared=max --disable-shared=perl
> --disable-shared=include"
>   465  make
>   466  make install
>   467  ls -la /usr/local/lib/perl5/site_perl/5.6.0/aix/Apache/src.pm
> 
> src.pm existed. 
> 
> I think that should be properly enough ? 
> 
> Still,
> 
> bash-2.04# perl -MApache::src -le "print Apache::src->new->otherldflags;"
> -bI:/usr/local/lib/perl5/site_perl/5.6.0/aix/auto/Apache/mod_perl.exp
> 

I am really surprised by that one, but revisting how Apache::src finds
this it could happen if the modperl installation does not find the
Apache apxs script. It uses the command "apxs -q LIBEXECDIR" to find the
directory where the httpd.exp is. Does the output change if yoou put the
directory where your apxs is installed into your PATH?

> I'm sorry, I couldn't find out whats wrong. If I put the missing -bI: flag
> to embperl Makefile by hand and type make embperl compiled, but 
> 
> bash-2.04# make test
>         PERL_DL_NONLAZY=0 /usr/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 137 perl36
> ap_log_error 138 perl36 ap_palloc 139 perl36 ap_pstrdup 140 perl36 ap_rflush
> 141 perl36 ap_rputc 142 perl36 ap_rwrite 143 perl36 ap_send_http_header 144
> perl36 ap_set_content_length 145 perl36 ap_setup_client_block 146 perl36
> ap_should_client_block 147 perl36 ap_table_add 148 perl36 ap_table_set 149
> perl at /usr/local/lib/perl5/5.6.0/aix/DynaLoader.pm line 200.
>  at test.pl line 1033
> Compilation failed in require at test.pl line 1033.
> BEGIN failed--compilation aborted at test.pl line 1033.
> make: 1254-004 The error code from the last command is 255.
> 
> I understand that there has to be certain library, from where those ap_*
> symbols are resolved. What name should it be ? The only *.so files from
> apache source directory are from modules directory and only *.a files are 
> 
> bash-2.04# find . -name *.a -print
> ./src/ap/libap.a
> ./src/main/libmain.a
> ./src/modules/standard/libstandard.a
> ./src/modules/perl/libperl.a
> ./src/os/unix/libos.a
> ./src/regex/libregex.a
> 
> Is the missing library libperl.a ? Because, 
> 
> bash-2.04# find / -name libperl.a -exec ls -la {} \;
> -rw-r--r--   1 root     system    502869 Mar 22 19:55
> /home/aivo/apache_1.3.19/src/modules/perl/libperl.a
> -rw-r--r--   1 root     system   1725134 Mar 21 16:40
> /home/aivo/perl-5.6.0/libperl.a
> -r-xr-xr-x   1 root     system   1725134 Mar 21 16:40
> /usr/local/lib/perl5/5.6.0/aix/CORE/libperl.a
> 
> The sizes are not the same and I think they mean different libraries ? 

No, the ap_* symbols come from the httpd main executable, which is
itself a shared library as well as a main program. If you use the dump
-nv command on an executable or library you can see where the symbols
come from and what is exported.

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to