help needed with apache build on FreeBSD (9-ish)
Tijl Coosemans
tijl at FreeBSD.org
Sat May 10 10:34:56 UTC 2014
On Sat, 10 May 2014 05:12:20 +0800 Julian Elischer wrote:
> I've been banging my head agains this for a couple of days now and I'm
> ready to swallow my pride and look for help :-)
>
> For $DAYJOB we have an apache 2.2 installed and for reasons I can't go
> into it can not be done via a port, so We are doing it manually.
>
> The build is done in a chroot, which contains a pretty much standard
> FreeBSD install of vintage 9.0 (ish).
> The standard apache build is run in the chroot and if the chroot is on
> an 8.0 based (real) machine is succeeds.
> If on the other hand the build is on a 9.1 based or 10.0 based VM. if
> fails with the following error:
>
> gmake[3]: Entering directory
> `/usr/build/buildroot/build/cloudcc/build_x86_64/httpd-2.2.11/srclib/pcre'
> gmake[4]: Entering directory
> `/usr/build/buildroot/build/cloudcc/build_x86_64/httpd-2.2.11/srclib/pcre'
> libtool --silent --mode=link /usr/bin/gcc -g -O0 -L/usr/local/lib
> -L/usr/build/buildroot/tools/x86_gcc4.2.4/usr/lib
> -L/usr/build/buildroot/tools/x86_gcc4.2.4/opt/pixel8/lib -o libpcre.la
> -static maketables.lo get.lo study.lo pcre.lo
> libtool: link: unable to infer tagged configuration
> libtool: link: specify a tag with `--tag'
> gmake[4]: *** [libpcre.la] Error 1
> gmake[4]: Leaving directory
> `/usr/build/buildroot/build/cloudcc/build_x86_64/httpd-2.2.11/srclib/pcre'
> gmake[3]: *** [install-recursive] Error 1
>
> Now if I go to that directory and run the command EXACTLY as show, I
> do indeed get
> that error, but if I run it by hand and as suggested, add "--tag=CC"
> then it succeeds.
>
> to make things more puzzling, the arguments that are run when the same
> chroot is running in an 8.0 system are slightly different.
> This also succeeds if I type it in by hand on the 10 based system.
>
> libtool --silent --mode=link /usr/bin/gcc -Wall -Wno-unused-parameter
> -nostdinc -isystem /usr/build/buildroot/tools/x86_gcc4.2.4/us
> r/include --sysroot /usr/build/buildroot/tools/x86_gcc4.2.4 -g -O0
> -L/usr/build/buildroot/tools/x86_gcc4.2.4/usr/lib
> -L/usr/build/buildroot/tools/x86_gcc4.2.4/opt/pixel8/lib -o libpcre.la
> -static
> maketables.lo get.lo study.lo pcre.lo
>
> I have two questions.
>
> 1/ given that apache has a maze of autoconf/libtool/configure files
> all over the place, many of which are autogenerated,
> where, in the original distribution would I find a file into which I
> can add the aforementionned --tag argument,
> or failing that, is there any environment variable or make argument to
> teh main build of apache that would result in that getting set..
>
> 2/ does anyone have any idea why one would fail and the other succeed,
> when it's the same identical chroot (nfs mounted to different
> machines. I have set the UNAME_xxx variables and confirmed that they
> are working. The only environment differences in the chroots are the
> SUDO_USER and USER variables. (1003 vs 1005) Does anyone know how to
> find out WHY configure is acting different? hte config.lo files show
> that configure is deciding the same things, and yet, the command lines
> differ.. the whole -Wall section is missing from the one that fails.
It's just a guess but I suspect "libtool" in this case is really
/usr/local/bin/libtool. In link mode libtool does not use the linker
you specify in the command line (/usr/bin/gcc in this case) but the one
determined by the configure script. For /usr/local/bin/libtool that
would be the configure script of the devel/libtool port. If that port
has been built with a different compiler than you are using now that
may be the cause.
If this is the case then I think the best solution is to use the
libtool generated by the configure script of apache.
More information about the freebsd-hackers
mailing list