[head tinderbox] failure on amd64/amd64
John Baldwin
jhb at freebsd.org
Tue Jun 5 19:45:33 UTC 2007
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
More information about the freebsd-amd64
mailing list