Re: [head tinderbox] failure on amd64/amd64

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 5 Jun 2007 14:51:18 -0400
On Sunday 03 June 2007 11:26:07 am Ruslan Ermilov wrote:
> On Sun, Jun 03, 2007 at 05:48:14AM -0400, FreeBSD Tinderbox wrote:
> > TB --- 2007-06-03 09:10:00 - tinderbox 2.3 running on 
freebsd-current.sentex.ca
> > TB --- 2007-06-03 09:10:00 - starting HEAD tinderbox run for amd64/amd64
> > TB --- 2007-06-03 09:10:00 - cleaning the object tree
> > TB --- 2007-06-03 09:10:15 - checking out the source tree
> > TB --- 2007-06-03 09:10:15 - cd /tinderbox/HEAD/amd64/amd64
> > TB --- 2007-06-03 09:10:15 - /usr/bin/cvs -f -R -q -d/home/ncvs 
update -Pd -A src
> > TB --- 2007-06-03 09:20:38 - building world (CFLAGS=-O2 -pipe)
> > TB --- 2007-06-03 09:20:38 - cd /src
> > TB --- 2007-06-03 09:20:38 - /usr/bin/make -B buildworld
> > >>> World build started on Sun Jun  3 09:20:39 UTC 2007
> > >>> Rebuilding the temporary build tree
> > >>> stage 1.1: legacy release compatibility shims
> > >>> stage 1.2: bootstrap tools
> > >>> stage 2.1: cleaning up the object tree
> > >>> stage 2.2: rebuilding the object tree
> > >>> stage 2.3: build tools
> > >>> stage 3: cross tools
> > >>> stage 4.1: building includes
> > >>> stage 4.2: building libraries
> > [...]
> > ===> lib/bind/bind9 (depend)
> > rm -f .depend
> > 
mkdep -f .depend -a    -DVERSION='"9.4.1"' -DHAVE_CONFIG_H -DLIBINTERFACE=30 -DLIBREVISION=3 -DLIBAGE=0 -DWANT_IPV6 -DOPENSSL -DUSE_MD5 -DNS_LOCALSTATEDIR='"/var"' -DNS_SYSCONFDIR='"/etc/namedb"' -DNAMED_CONFFILE='"/etc/namedb/named.conf"' -DRNDC_CONFFILE='"/etc/namedb/rndc.conf"' -DRNDC_KEYFILE='"/etc/namedb/rndc.key"' -I/src/lib/bind/bind9/.. -I/src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include/dst -I/src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include -I/src/lib/bind/bind9/../dns -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isccc/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isccfg/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/unix/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/pthreads/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/include -I/src/lib/bind/bind9/../isc -I/src/lib/bind/bind9/../../../contrib/bind9/lib/lwres/unix/include -I/s
> >  
rc/lib/bind/bind9/../../../contrib/bind9/lib/lwres/include -I/src/lib/bind/bind9/../lwres -I/src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/isc/x86_64/include /src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/check.c /src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/getaddresses.c /src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/version.c
> > In file included 
from /src/lib/bind/bind9/../../../contrib/bind9/lib/isc/include/isc/refcount.h:23,
> >                  
from /src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include/dns/acl.h:39,
> >                  
from /src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/check.c:38:
> 
> /src/lib/bind/bind9/../../../contrib/bind9/lib/isc/x86_64/include/isc/atomic.h:28:2: 
error: #error "impossible case.  check build configuration"
> > mkdep: compile failed
> > *** Error code 1
> > 
> I fixed this by the following patch:
> 
> %%%
> Index: lib/bind/config.mk
> ===================================================================
> RCS file: /home/ncvs/src/lib/bind/config.mk,v
> retrieving revision 1.17
> diff -u -p -r1.17 config.mk
> --- lib/bind/config.mk	2 Jun 2007 23:19:55 -0000	1.17
> +++ lib/bind/config.mk	3 Jun 2007 14:23:13 -0000
> _at__at_ -63,12 +63,10 _at__at_ CFLAGS+=	-I${LIB_BIND_DIR}
>  .endif
>  
>  # Use the right version of the atomic.h file from lib/isc
> -.if ${MACHINE_ARCH} == "amd64"
> -ISC_ATOMIC_ARCH=	x86_64
> +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> +ISC_ATOMIC_ARCH=	x86_32
>  .elif ${MACHINE_ARCH} == "arm"
>  ISC_ATOMIC_ARCH=	mips
> -.elif ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "i386/pc98"
> -ISC_ATOMIC_ARCH=	x86_32
>  .else
>  ISC_ATOMIC_ARCH=	${MACHINE_ARCH}
>  .endif
> %%%

Arguably, this is a bug in bind9 that if you use gcc you use x86_32 for 
x86_64, but if you use a different compiler, you use x86_64 for x86_64.  I'd 
suggest that the bind9 folks either always use x86_32 for x86_64, or always 
use x86_64 for x86_64.

-- 
John Baldwin
Received on Tue Jun 05 2007 - 17:45:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:11 UTC