You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Michael Schout <ms...@gkg.net> on 2014/11/04 21:30:11 UTC

Re: FreeBSD 10, Apache2.2, mod_perl, perl

On 9/18/14 4:16 PM, Bernard T. Higonnet wrote:
> Hello,
> 
> Can someone indicate a version of the following that work
> 
> Apache 2.2.x
> perl 5.x
> mod_perl 2.0.x
> 
> all under FreeBSD 10.0-RELEASE #0

I'm late in replying to this, but a major problem on FreeBSD 10 is the
fact that programs ship with a libtool script that incorrectly
identifies it as FreeBSD 1.x, and thus disables building of shared
libraries.  I am guessing this is the problem you are running into.

This is not really apache, perl, or mod_perl's fault.  You have to patch
libtool so that it does not incorrectly identify it as FreeBSD 1.x.

I use the following in my own makefiles, adapted from FreeBSD ports
tree, which also applies this fix:


> 	-@for f in `find $(CURDIR) -type f \( -name config.libpath -o \
> 		-name config.rpath -o -name configure -o -name libtool.m4 -o \
> 		-name ltconfig -o -name libtool -o -name aclocal.m4 -o \
> 		-name acinclude.m4 \)` ; do \
> 			sed -i.fbsd10bak \
> 				-e 's|freebsd1\*)|freebsd1.\*)|g' \
> 				-e 's|freebsd\[12\]\*)|freebsd[12].*)|g' \
> 				-e 's|freebsd\[123\]\*)|freebsd[123].*)|g' \
> 				-e 's|freebsd\[\[12\]\]\*)|freebsd[[12]].*)|g' \
> 				-e 's|freebsd\[\[123\]\]\*)|freebsd[[123]].*)|g' \
> 					$${f} ; \
> 			touch -f -mr $${f}.fbsd10bak $${f} ; \
> 			rm -f $${f}.fbsd10bak ; \
> 			echo "===>   FreeBSD 10 autotools fix applied to $${f}"; \
> 		done

> 	@find $(CURDIR)  \( -name configure -or -name ltconfig \)     \
> 		-type f | while read i; do sed -i.bak                \
> 		-e '/dragonfly\*/!s/^ *freebsd\*[ )]/dragonfly* | &/'   \
> 		-e '/gcc_dir=\\`/s/gcc /$$CC /'                         \
> 		-e '/gcc_ver=\\`/s/gcc /$$CC /'                         \
> 		-e '/link_all_deplibs[0-9A-Z_]*=/s/=unknown/=no/'       \
> 		-e '/objformat=/s/echo aout/echo elf/'                  \
> 		-e "/freebsd-elf\\*)/,/;;/ {                            \
> 	  	   /deplibs_check_method=/s/=.*/=pass_all/; }"         \
> 		   $${i} && touch -mr $${i}.bak $${i}; done
> 
> 	@find $(CURDIR) -type f -name ltmain.sh |                    \
> 		xargs sed -i.bak                               \
> 		-e '/if.*linkmode.*prog.*mode.*!= relink/s/if.*;/if :;/'\
> 		-e '/if.*linkmode.*prog.*mode.* = relink/s/||.*;/;/'    \
> 		-e 's/|-p|-pg|/|-B*|-p|-pg|/'

Regards,
Michael Schout