head build error (header pollution ?) after 249958
Dimitry Andric
dim at FreeBSD.org
Sun May 5 11:52:45 UTC 2013
On May 5, 2013, at 12:04, Luigi Rizzo <rizzo at 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)
>
> > uname -a
> FreeBSD bsd9 9.1-STABLE FreeBSD 9.1-STABLE #0 r248472:
> Tue Mar 19 08:36:09 CET 2013 luigi at bsd9:.../RELENG_9/sys/LUIGI
> amd64
>
> (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:
>
> ---> [ remember the cflags below ]
> cc -O2 -pipe -DTERMIOS -DANSI_SOURCE -I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openssl -I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openssl/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/openssl/crypto/asn1 -I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openssl/crypto/evp -I/usr/home/luigi/FreeBSD/head/secure/lib/libcrypto/../../../crypto/openssl/crypto/modes -std=gnu89 -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
More information about the freebsd-current
mailing list