Buildworld Fails RELENG_7

Pekka Savola pekkas at
Tue Sep 9 19:33:59 UTC 2008

On May 19, Dave Uhring reported the following kind of RELENG_7 
buildworld failure:

/usr/bin/gcc -fpic -DPIC -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/ lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/ libcrypto/../../../crypto/openssl/crypto -I/usr/obj/usr/src/secure/ lib/libcrypto -DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H - DOPENSSL_NO_IDEA -DL_ENDIAN -DNO_IDEA -std=gnu89 -c /usr/src/secure/ lib/libcrypto/../../../crypto/openssl/crypto/engine/eng_openssl.c -o eng_openssl.So
/usr/bin/gcc -fpic -DPIC -DTERMIOS -DANSI_SOURCE -I/usr/src/secure/ lib/libcrypto/../../../crypto/openssl -I/usr/src/secure/lib/ libcrypto/../../../crypto/openssl/crypto -I/usr/obj/usr/src/secure/ lib/libcrypto -DOPENSSL_THREADS -DDSO_DLFCN -DHAVE_DLFCN_H - DOPENSSL_NO_IDEA -DL_ENDIAN -DNO_IDEA -std=gnu89 -c /usr/src/secure/ lib/libcrypto/../../../crypto/openssl/crypto/engine/eng_padlock.c -o eng_padlock.So
/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/engine/ eng_padlock.c: In function 'padlock_xcrypt_ecb':
/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/engine/ eng_padlock.c:445: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/engine/ eng_padlock.c:445: error: 'asm' operand has impossible constraints

On May 20, Doug Rabson gave a hint:

In this, your build is explicitly using '/usr/bin/gcc' for the build 
which is not the way buildworld normally works. In normal operation, 
buildworld first builds a compiler from source and then uses that 
compiler by adding to $PATH and building with just 'cc'. Are you 
overriding $CC in your environment?

With today's RELENG_7 I spotted a similar kind of compilation problem, 
and this gave a hint to solving it.

In my case, the problem was that I had set the following environment 
variables (for enabling the compilation of a program):

CFLAGS= (or CFLAGS=-pg, not 100% sure)

unsetenv'ing these fixed by 'make buildworld'.

I wonder if this is something that the build scripts themselves should 
catch and correct?

Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

More information about the freebsd-stable mailing list