Subject: toolchain/32878: cannot cross build sparc64 from Solaris 10/amd64
To: None <toolchain-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <gdamore@netbsd.org>
List: netbsd-bugs
Date: 02/20/2006 05:00:01
>Number: 32878
>Category: toolchain
>Synopsis: cannot cross build sparc64 from Solaris 10/amd64
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: toolchain-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Feb 20 05:00:00 +0000 2006
>Originator: Garrett D'Amore
>Release: -current (3.99.15)
>Organization:
Tadpole Computer, Inc.
>Environment:
NetBSD ulmo.damore.org 3.99.15 NetBSD 3.99.15 (GENERIC) #0: Sun Feb 19 06:15:56 UTC 2006 builds@works.netbsd.org:/home/builds/ab/HEAD/sparc64/200602180000Z-obj/home/builds/ab/HEAD/src/sys/arch/sparc64/compile/GENERIC sparc64
>Description:
Wanting to build an updated kernel and cross-compilation toolset, using build.sh on my Opteron server (running Solaris 10), I have errors, that I believe stem from the recent libc/kernel endianness tweaks:
./build.sh -m sparc64 -T ${MYTOOLS} tools kernel=GENERIC
gives this error:
# compile compat/rmd160.lo
gcc -O -I. -I./include -I/home/garrett/netbsd/src/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D__DBINTERFACE_PRIVATE -c -o rmd160.lo.o /home/garrett/netbsd/src/tools/compat/../../lib/libc/hash/rmd160/rmd160.c
/home/garrett/netbsd/src/tools/compat/../../lib/libc/hash/rmd160/rmd160.c:37:28: machine/endian.h: No such file or directory
*** Failed target: rmd160.lo
*** Failed command: gcc -O -I. -I./include -I/home/garrett/netbsd/src/tools/compat -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D__DBINTERFACE_PRIVATE -c -o rmd160.lo.o /home/garrett/netbsd/src/tools/compat/../../lib/libc/hash/rmd160/rmd160.c
*** Error code 1
>How-To-Repeat:
On a Solaris 10 machine, just try to bootstrap the tools.
>Fix:
Somehow, machine/endian.h needs to be a valid include location, so either arguments to the compiler, or a cross-compile environment where machine/endian.h is made to be sane. Cross-compilation is *supposed* to work. This will ultimately eventually become a show-stopper for me, as I have to use this system to cross compile for environments that cannot self-host (e.g. evbmips).