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=20
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=20
update -Pd -A src
> > TB --- 2007-06-03 09:20:38 - building world (CFLAGS=3D-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
> > [...]
> > =3D=3D=3D> lib/bind/bind9 (depend)
> > rm -f .depend
> >=20
mkdep -f .depend -a    -DVERSION=3D'"9.4.1"' -DHAVE_CONFIG_H -DLIBINTERFACE=
=3D30 -DLIBREVISION=3D3 -DLIBAGE=3D0 -DWANT_IPV6 -DOPENSSL -DUSE_MD5 -DNS_L=
OCALSTATEDIR=3D'"/var"' -DNS_SYSCONFDIR=3D'"/etc/namedb"' -DNAMED_CONFFILE=
=3D'"/etc/namedb/named.conf"' -DRNDC_CONFFILE=3D'"/etc/namedb/rndc.conf"' -=
DRNDC_KEYFILE=3D'"/etc/namedb/rndc.key"' -I/src/lib/bind/bind9/.. -I/src/li=
b/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/../../=
=2E./contrib/bind9/lib/isccfg/include -I/src/lib/bind/bind9/../../../contri=
b/bind9/lib/isc/unix/include -I/src/lib/bind/bind9/../../../contrib/bind9/l=
ib/isc/pthreads/include -I/src/lib/bind/bind9/../../../contrib/bind9/lib/is=
c/include -I/src/lib/bind/bind9/../isc -I/src/lib/bind/bind9/../../../contr=
ib/bind9/lib/lwres/unix/include -I/s
> > =20
rc/lib/bind/bind9/../../../contrib/bind9/lib/lwres/include -I/src/lib/bind/=
bind9/../lwres -I/src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/inclu=
de -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/bind=
9/../../../contrib/bind9/lib/bind9/getaddresses.c /src/lib/bind/bind9/../..=
/../contrib/bind9/lib/bind9/version.c
> > In file included=20
from /src/lib/bind/bind9/../../../contrib/bind9/lib/isc/include/isc/refcoun=
t.h:23,
> >                 =20
from /src/lib/bind/bind9/../../../contrib/bind9/lib/dns/include/dns/acl.h:3=
9,
> >                 =20
from /src/lib/bind/bind9/../../../contrib/bind9/lib/bind9/check.c:38:
>=20
> /src/lib/bind/bind9/../../../contrib/bind9/lib/isc/x86_64/include/isc/ato=
mic.h:28:2:=20
error: #error "impossible case.  check build configuration"
> > mkdep: compile failed
> > *** Error code 1
> >=20
> I fixed this by the following patch:
>=20
> %%%
> Index: lib/bind/config.mk
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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+=3D	-I${LIB_BIND_DIR}
>  .endif
> =20
>  # Use the right version of the atomic.h file from lib/isc
> -.if ${MACHINE_ARCH} =3D=3D "amd64"
> -ISC_ATOMIC_ARCH=3D	x86_64
> +.if ${MACHINE_ARCH} =3D=3D "amd64" || ${MACHINE_ARCH} =3D=3D "i386"
> +ISC_ATOMIC_ARCH=3D	x86_32
>  .elif ${MACHINE_ARCH} =3D=3D "arm"
>  ISC_ATOMIC_ARCH=3D	mips
> -.elif ${MACHINE_ARCH} =3D=3D "i386" || ${MACHINE_ARCH} =3D=3D "i386/pc98"
> -ISC_ATOMIC_ARCH=3D	x86_32
>  .else
>  ISC_ATOMIC_ARCH=3D	${MACHINE_ARCH}
>  .endif
> %%%

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

=2D-=20
John Baldwin



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