#> I got the new CVS version applied the patch and I got a bit further
#
#good, I've committed that patch.
#
#>, but
#> it's still dying with:
#> 
#>         cd "src/modules/perl" && make -f Makefile.modperl
#>         rm -f mod_perl.so
#>         ld -bhalt:4 -bM:SRE
#> -bI:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp -bE:mod_perl.exp
#> -bnoentry -lc -L/usr/local/lib    mod_perl.lo modperl_interp.lo
#> modperl_tipool.lo modperl_log.lo modperl_config.lo modperl_cmd.lo
#> modperl_options.lo modperl_callback.lo modperl_handler.lo modperl_gtop.lo
#> modperl_util.lo modperl_io.lo modperl_filter.lo modperl_bucket.lo
#> modperl_mgv.lo modperl_pcw.lo modperl_global.lo modperl_env.lo
#> modperl_cgi.lo modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo
#> modperl_sys.lo modperl_module.lo modperl_svptr_table.lo modperl_const.lo
#> modperl_constants.lo modperl_hooks.lo modperl_directives.lo
modperl_flags.lo
#> modperl_xsinit.lo  -bE:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp
#> -brtl -L/usr/local/lib -b32
#> /usr/local/perl5.8.0/lib/5.8.0/aix/auto/DynaLoader/DynaLoader.a
#> -L/usr/local/perl5.8.0/lib/5.8.0/aix/CORE -lperl -lbind -lnsl -ldl -lld
-lm
#> -lc -lcrypt -lbsd -lPW  -o mod_perl.so
#> ld: 0706-004 Cannot find or read export file: mod_perl.exp
#>         ld:accessx(): A file or directory in the path name does not
exist.
#> make: 1254-004 The error code from the last command is 255.
#
#> To get that far, in the src/modules/perl/Makefile.modperl I added
#> definitions for BASEEXT and PERL_INC, as copied from
modperl-2.0/Makefile,
#> as shown below, since they were missing.
#
#why would you need them? I mean what was the error that you had to add
them?

Without PERL_INC I got this error:

        ld -bhalt:4 -bM:SRE -bI:/perl.exp -bE:.exp -bnoentry -lc
-L/usr/local/lib    mod_perl.lo modperl_interp.lo modperl_tipool.lo
modperl_log.lo modperl_config.lo modperl_cmd.lo modperl_options.lo
modperl_callback.lo modperl_handler.lo modperl_gtop.lo modperl_util.lo
modperl_io.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo
modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo
modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo
modperl_module.lo modperl_svptr_table.lo modperl_const.lo
modperl_constants.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo
modperl_xsinit.lo  -bE:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp
-brtl -L/usr/local/lib -b32
/usr/local/perl5.8.0/lib/5.8.0/aix/auto/DynaLoader/DynaLoader.a
-L/usr/local/perl5.8.0/lib/5.8.0/aix/CORE -lperl -lbind -lnsl -ldl -lld -lm
-lc -lcrypt -lbsd -lPW  -o mod_perl.so
ld: 0706-003 Cannot find or read import file: /perl.exp
        ld:accessx(): A file or directory in the path name does not exist.
ld: 0706-004 Cannot find or read export file: .exp
        ld:accessx(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.

So, I looked at the -bI:/perl.exp and looked at the Makefile.modperl and saw
that it referenced PERL_INC, which didn't appear to be defined, although it
was referenced, after setting it to PERL_INC =
/usr/local/perl5.8.0/lib/5.8.0/aix/CORE and got this error next:

        ld -bhalt:4 -bM:SRE
-bI:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp -bE:.exp -bnoentry -lc
-L/usr/local/lib    mod_perl.lo modperl_interp.lo modperl_tipool.lo
modperl_log.lo modperl_config.lo modperl_cmd.lo modperl_options.lo
modperl_callback.lo modperl_handler.lo modperl_gtop.lo modperl_util.lo
modperl_io.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo
modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo
modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo
modperl_module.lo modperl_svptr_table.lo modperl_const.lo
modperl_constants.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo
modperl_xsinit.lo  -bE:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp
-brtl -L/usr/local/lib -b32
/usr/local/perl5.8.0/lib/5.8.0/aix/auto/DynaLoader/DynaLoader.a
-L/usr/local/perl5.8.0/lib/5.8.0/aix/CORE -lperl -lbind -lnsl -ldl -lld -lm
-lc -lcrypt -lbsd -lPW  -o mod_perl.so
ld: 0706-004 Cannot find or read export file: .exp
        ld:accessx(): A file or directory in the path name does not exist.
make: 1254-004 The error code from the last command is 255.

Noticed -bE:.exp and looked in the makefile for where that was coming from,
which led me to set BASEEXT = mod_perl since it was defined in
Makefile.modperl but was referenced. Which led a bit further but still
without success.

#
#> BASEEXT = mod_perl
#
#what if you replace it with
#
#BASEEXT = modperl

I actually have a mod_perl.exp in /tmp/modperl-2.0 and if I point at that
one or at an empty mod_perl.exp or modperl.exp I get further on to a new
error:

        LD_RUN_PATH="" ld  -bhalt:4 -bM:SRE
-bI:/usr/local/perl5.8.0/lib/5.8.0/aix/CORE/perl.exp -bE:Base64.exp
-bnoentry -lc -L/usr/local/lib Base64.o  -o
.../../../blib/arch/auto/APR/Base64/Base64.so     
ld: 0711-317 ERROR: Undefined symbol: .apr_base64_encode_len
ld: 0711-317 ERROR: Undefined symbol: .apr_base64_decode_len
ld: 0711-317 ERROR: Undefined symbol: .apr_base64_decode_binary
ld: 0711-317 ERROR: Undefined symbol: .apr_base64_encode_binary
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
information.

Those symbols exists in ./xs/apache_global.exp  and the Base64.exp in
WrapXS/APR/Base64 contains just one line:
boot_APR__Base64

So, not being any kind of C programmer at all, I'm sort of stuck. 


#
#In any case, AIX seems to be a special case, and without having an access
to 
#it it's hard to debug the problem. So if you can debug what happens in the 
#function write_export_file() in lib/ModPerl/WrapXS.pm (where the exp files
are 
#generated) and either it's a problem of the exp file not being generated or

#just not being found.
#

With my limited knowledge of what's really going on here, it appears to me
that the .exp files are being generated, just not in the places AIX expects
them to be? I tried to verify that write_export_file was writing all the
items it found and I didn't find anything that wasn't being written and as I
said above the symbols that are "missing" are in another file.

I'm happy to try any suggestions that you may have to get through this.

#Apparently, the exp files are needed only for AIX. Though currently
generated 
#for all, and I can see only these:
#../xs/apache_global.exp
#../xs/apache_inline.exp
#../xs/apache_ithreads.exp
#../xs/modperl_global.exp
#../xs/modperl_inline.exp
#../xs/modperl_ithreads.exp

I have:
-rw-r--r--   1 root     system     17397 Mar 03 16:02 ./xs/apache_global.exp
-rw-r--r--   1 root     system         3 Mar 03 16:02 ./xs/apache_inline.exp
-rw-r--r--   1 root     system         3 Mar 03 16:02
../xs/apache_ithreads.exp
-rw-r--r--   1 root     system      5917 Mar 03 16:02
../xs/modperl_global.exp
-rw-r--r--   1 root     system       609 Mar 03 16:02
../xs/modperl_inline.exp
-rw-r--r--   1 root     system       840 Mar 03 16:02
../xs/modperl_ithreads.exp
-rw-r--r--   1 root     system        18 Mar 03 16:28
../WrapXS/APR/Base64/Base64.exp
-rw-r--r--   1 root     system        10 Mar 03 16:28 ./WrapXS/APR/APR.exp
-rw-r--r--   1 root     system        22 Mar 03 16:28 ./WrapXS/WrapXS.exp
-rw-r--r--   1 root     system        15 Mar 03 16:28 ./mod_perl.exp

Plus, the empty ones I created:
-rw-r--r--   1 root     system         0 Mar 03 16:09
../src/modules/perl/perl.exp
-rw-r--r--   1 root     system         0 Mar 01 15:09
../src/modules/perl/modperl.exp

#
#what if you create an empty mod_perl.exp in src/modules/perl?
#
#> PERL_INC = /usr/local/perl5.8.0/lib/5.8.0/aix/CORE
#
#Thanks.

__________________________________________________________________
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


____________________________________________________________________________
The information contained in this communication may be confidential, is
intended only for the use of the recipient named above, and may be legally
privileged.  If the reader of this message is not the intended recipient,
you are hereby notified that any dissemination, distribution, or copying of
this communication, or any of its contents, is strictly prohibited. If you
have received this communication in error, please re-send this communication
to the sender and delete the original message and any copy of it from your
computer system.
Thank you.

For more information please visit us at http://www.piperrudnick.com
____________________________________________________________________________


Reply via email to