Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Jun 2007 14:51:18 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-amd64@freebsd.org
Cc:        amd64@freebsd.org, Doug Barton <dougb@freebsd.org>, FreeBSD Tinderbox <tinderbox@freebsd.org>, current@freebsd.org
Subject:   Re: [head tinderbox] failure on amd64/amd64
Message-ID:  <200706051451.19707.jhb@freebsd.org>
In-Reply-To: <20070603152607.GA41397@rambler-co.ru>
References:  <20070603094814.CA1FB73068@freebsd-current.sentex.ca> <20070603152607.GA41397@rambler-co.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

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
> @@ -63,12 +63,10 @@ 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706051451.19707.jhb>