Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 May 2013 13:52:37 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Luigi Rizzo <rizzo@iet.unipi.it>
Cc:        current@freebsd.org
Subject:   Re: head build error (header pollution ?) after 249958
Message-ID:  <CB652ED3-05BC-47AD-8E52-7BDB87F78B68@FreeBSD.org>
In-Reply-To: <20130505100429.GA68970@onelab2.iet.unipi.it>
References:  <20130505100429.GA68970@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
On May 5, 2013, at 12:04, Luigi Rizzo <rizzo@iet.unipi.it> wrote:
> Since svn 249959 (when NO_IDEA was removed) I cannot build HEAD on
> a somewhat recent stable/9 (see below; kernel and userland in sync)
>=20
> 	> uname -a
> 	FreeBSD bsd9 9.1-STABLE FreeBSD 9.1-STABLE #0 r248472:
> 	Tue Mar 19 08:36:09 CET 2013 luigi@bsd9:.../RELENG_9/sys/LUIGI
> 	amd64
>=20
> (note that head was unbuildable in general since 249972 because
> there were leftovers of the IDEA option around)
> The error occurs during the 'toolchain' target (actually, probably
> in the 'libraries' one) and it is the following:
>=20
> ---> [ remember the cflags below ]
> cc  -O2 -pipe  -DTERMIOS -DANSI_SOURCE =
-I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openss=
l =
-I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openss=
l/crypto =
-I/usr/home/luigi/FreeBSD/obj_head/usr/home/luigi/FreeBSD/head/secure/lib/=
libcrypto -DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN =
-DOPENSSL_IA32_SSE2 -DAES_ASM -DBSAES_ASM -DVPAES_ASM =
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m =
-DMD5_ASM -DGHASH_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM =
-DWHIRLPOOL_ASM =
-I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openss=
l/crypto/asn1 =
-I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openss=
l/crypto/evp =
-I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openss=
l/crypto/modes -std=3Dgnu89 -fstack-protector -Wno-pointer-sign -c =
/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openssl/=
crypto/asn1/a_sign.c -o a_sign.o
...
> This makes me think that the libraries are built using the headers
> installed on the host instead of those belonging to the source tree.
> Looking at the arguments to 'cc' above seems to confirm this.

How come?  If you are building stage 4.2 (libraries), you have already =
built cross-tools, so the "cc" invoked above only uses headers from =
${WORLDTMP}.

The -I options you show only point to either your source directory, or =
your object directory:

-I/usr/home/luigi/FreeBSD/head/crypto/openssl
-I/usr/home/luigi/FreeBSD/head/crypto/openssl/crypto
=
-I/usr/home/luigi/FreeBSD/obj_head/usr/home/luigi/FreeBSD/head/secure/lib/=
libcrypto
-I/usr/home/luigi/FreeBSD/head/crypto/openssl/crypto/asn1
-I/usr/home/luigi/FreeBSD/head/crypto/openssl/crypto/evp
-I/usr/home/luigi/FreeBSD/head/crypto/openssl/crypto/modes


> Any idea on how to fix this problem (which probably may affect
> cross builds in general) ?

No idea, sorry.  I have never seen this problem.  I have even built very =
recent head on 8.1-RELEASE and 7.3-RELEASE, with a few minor patches...

-Dimitry




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CB652ED3-05BC-47AD-8E52-7BDB87F78B68>