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>