No real solution yet. For the time being I disabled the 3 modules that gave problems and built Apache and mod_perl seperately. Because I disabled mod_log_config I had to comment out the LogFormat and CustomLog directives in httpd.conf. I also had to explicitly enable mod_so because otherwise I could not get Apache started. A more elegant way of doing this would still be appreciated. Currently I am doing the following:
joris: /usr/local/src: tar xvf apache_1-1.3.31.tar joris: /usr/local/src: tar xvf mod_perl-1.29.tar joris: /usr/local/src: cd mod_perl-1.29 joris: /usr/local/src/mod_perl-1.29: perl Makefile.PL APACHE_SRC=../apache_1.3.31/src NO_HTTPD=1 PREP_HTTPD=1 USE_APACI=1 EVERYTHING=1 joris: /usr/local/src/mod_perl-1.29: make joris: /usr/local/src/mod_perl-1.29: sudo make install joris: /usr/local/src/mod_perl-1.29: cd ../apache_1.3.31 joris: /usr/local/src/apache_1.3.31: ./configure --disable-module=include --disable-module=actions --disable-module=log_config --with-layout=Apache --activate-module=src/modules/perl/libperl.a --enable-module=so joris: /usr/local/src/apache_1.3.31: make joris: /usr/local/src/apache_1.3.31: sudo make install
Thanks, Joris.
Stas Bekman wrote:
Joris Verboomen wrote:
Stas,
I tried adding USE_DSO=1 but the same result. My command to create the Makefile now looks as follows:
perl Makefile.PL APACHE_SRC=../apache_1.3.31/src DO_HTTPD=1 USE_APACI=1 USE_DSO=1 EVERYTHING=1
Any other suggestions ?
I've suggested that several times, but no one has bothered to work it out. The error is clear, apache includes libregex.a whose symbols are defined elsewhere:
ap/libap.a regex/libregex.a -L/usr/local/lib
^^^^^^^^^^^^^^^^^
/usr/local/lib/perl5/5.8.5/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.5/darwin-thread-multi-2level/CORE -lperl -ldl -lm -lc
ld: warning multiple definitions of symbol _regcomp
regex/libregex.a(regcomp.o) definition of _regcomp in section (__TEXT,__text)
/usr/lib/libdl.dylib(regcomp.So) definition of _regcomp
ld: warning multiple definitions of symbol _regexec
regex/libregex.a(regexec.o) definition of _regexec in section (__TEXT,__text)
/usr/lib/libdl.dylib(regexec.So) definition of _regexec
ld: warning multiple definitions of symbol _regfree
regex/libregex.a(regfree.o) definition of _regfree in section (__TEXT,__text)
/usr/lib/libdl.dylib(regfree.So) definition of _regfree
ld: Undefined symbols:
_actions_module
_include_module
_log_config_module
that elsewhere seems to be reg*.so libs listed above. The other reg*.so libs might come from perl, try to 'ldd libperl.so' (that's the perl shared library, normally living somewhere under /usr/lib/perl5 on unix. don't confuse it with libperl.so which is mod_perl's shared library).
I don't remember if you can tell Apache not to build the regex library and/or use an alternative library, check its docs if you can do that.
I'm not on Mac OS X to resolve it, but you now have enough leads to check whether this is the cause of the problem. It definitely has nothing to do with mod_perl per se.
Please let the list know if you have resolved this issue. I'm sure many will be greatful to you.
-- 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