Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 2014 22:46:32 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        Tijl Coosemans <tijl@FreeBSD.org>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: help needed with apache build on FreeBSD (9-ish)
Message-ID:  <536F8D48.9090501@freebsd.org>
In-Reply-To: <20140510123447.1347ea9c@kalimero.tijl.coosemans.org>
References:  <536D44B4.3030708@freebsd.org> <20140510123447.1347ea9c@kalimero.tijl.coosemans.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/10/14, 6:34 PM, Tijl Coosemans wrote:
> 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.
>
thanks for your thoughts..

theoreticall ythe exact same libtool should be run, as it's fully 
specified (full path).
remember this is the same directories in a chroot, but mounted on two 
different machines.

somehow the tools within the chroot can sense whether they mounted on 
the 8.0 machine or on the 9.1 machine,
and act differntly despite the fact that uname returns the same info 
on both..

Julian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?536F8D48.9090501>