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



Reply via email to