I compiled perl 5.8.5 succesfuly and tried to build RC1 against 5.8.5.
This time there is no such error,
Good, so cygwin perl 5.8.0 is probably borked.
but there is another problem:[..]
after this is executed I get many many errors like these: modperl_debug.lo(.text+0x6e):modperl_debug.c: undefined reference to[...]
`_apr_psprintf' modperl_common_util.lo(.text+0x33b):modperl_common_util.c: undefined
reference to `_apr_palloc' modperl_common_log.lo(.text+0x68):modperl_common_log.c: undefined
reference to `_apr_file_printf' modperl_hooks.lo(.text+0x316):modperl_hooks.c: undefined reference to
`_ap_hook_process_connection'
... and so on until I get to:
collect2: ld returned 1 exit status perlld: *** system() failed to execute gcc -shared -o mod_perl.dll -Wl,--out-implib=libmod_perl.dll.a -Wl,--export-all -symbols -Wl,--enable-auto-import -Wl,--stack,8388608 \ -L/usr/local/lib mod_perl.lo modperl_interp.lo modperl_tipool.lo
modperl_flags.lo modperl_xsinit.lo modperl_exports.lo -L/usr/local/lib /u sr/local/lib/perl5/5.8.5/cygwin/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.5/cygwin/CORE -lperl -lcrypt -lgdbm_compat
the loader here tries to resolve symbols which should be resolved at run-time. since mod_perl.so doesn't link against libapr and libaprutil you get those errors. Those symbols are resolved inside httpd which links against those 2 libs. And when mod_perl.so is loaded libapr and libaprutil are already loaded.
Last time I had to do a similar workaround for AIX. Please see this section in lib/Apache/Build.pm and see if you can adjust the build to do something similar on cygwin. I'm not familiar with the linker/loader on that platform to tell you exactly what needs to be done.
if (AIX) { my $Wl = $self->ldopts_prefix;
# it's useless to import symbols from libperl.so this way, # because perl.exp is incomplete. a better way is to link # against -lperl which has all the symbols $val =~ s|${Wl}-bI:\$\(PERL_INC\)/perl\.exp||; # also in the case of Makefile.modperl PERL_INC is defined
# this works with at least ld(1) on powerpc-ibm-aix5.1.0.0: # -berok ignores symbols resolution problems (they will be # resolved at run-time # -brtl prepares the object for run-time loading # LDFLAGS already inserts -brtl $val .= " ${Wl}-berok"; # XXX: instead of -berok, could make sure that we have: # -Lpath/to/CORE -lperl # -bI:$path/apr.exp -bI:$path/aprutil.exp -bI:$path/httpd.exp # -bI:$path/modperl_*.exp # - don't import modperl_*.exp in Makefile.modperl which # exports -bE:$path/modperl_*.exp # - can't rely on -bI:$path/perl.exp, because it's incomplete, # use -lperl instead # - the issue with using apr/aprutil/httpd.exp is to pick the # right path if httpd wasn't yet installed }
$val; }
-- __________________________________________________________________ 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