NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-powerpc/43021: librump* build procedures don't get along with powerpc64 builds
>Number: 43021
>Category: port-powerpc
>Synopsis: librump* build procedures don't get along with powerpc64 builds
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: port-powerpc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Mar 20 11:25:00 +0000 2010
>Originator: Dennis Ferguson
>Release: very recent 5.99.24
>Organization:
>Environment:
NetBSD acer.hk.akit-ferguson.com 5.99.24 NetBSD 5.99.24 (GENERIC) #0: Sun Mar
14 17:25:30 HKT 2010
dennis%acer.hk.akit-ferguson.com@localhost:/usr/obj/sys/arch/amd64/compile/GENERIC
amd64
>Description:
Doing a macppc64 build results in the following when
it gets to doing dependencies in a librump directory
(anyone will do):
# create librump/__cmsg_alignbytes.d
CC=/usr/src/obj/tooldir.NetBSD-5.99.24-amd64/bin/powerpc64--netbsd-gcc
/usr/src/obj/tooldir.NetBSD-5.99.24-amd64/bin/nbmkdep -f __cmsg_alignbytes.d --
-I/usr/src/lib/librump/../../sys/rump/include -D_RUMPKERNEL -D_KERNEL
-DMULTIPROCESSOR -D_MODULE -DMODULAR -DMAXUSERS=32 -DDIAGNOSTIC -DCOMPAT_50
-DDEBUGPRINT -I/usr/src/lib/librump -I.
-I/usr/src/lib/librump/../../sys/rump/../../common/include
-I/usr/src/lib/librump/../../sys/rump/../arch
-I/usr/src/lib/librump/../../sys/rump/include
-I/usr/src/lib/librump/../../sys/rump/librump/rumpkern/opt -nostdinc
-I/usr/src/lib/librump/../../sys/rump/.. -D__NetBSD__
-I/usr/src/lib/librump/../../sys/rump/librump/rumpkern
-I/usr/src/lib/librump/../../sys/rump/librump/rumpvfs
-I/usr/src/lib/librump/../../sys/rump/librump/rumpnet
-I/usr/src/lib/librump/../../sys/rump/librump/rumpdev
-I/usr/src/lib/librump/../../sys/rump/../lib/libkern/arch/
-I/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/quad
-I/usr/src/li
b/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/string
-I/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/arch/powerpc64/string
-I/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/include
/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/net/__cmsg_alignbytes.c
In file included from /usr/src/lib/librump/../../sys/rump/../sys/types.h:45,
from
/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/net/__cmsg_alignbytes.c:44:
./machine/types.h:3:27: error: powerpc/types.h: No such file or
directory
In file included from /usr/src/lib/librump/../../sys/rump/../sys/types.h:47,
from
/usr/src/lib/librump/../../sys/rump/../lib/libkern/../../../common/lib/libc/net/__cmsg_alignbytes.c:44:
./machine/ansi.h:3:26: error: powerpc/ansi.h: No such file or
directory
and so on. It can't find include files like <powerpc/anything.h>.
Note that a macppc64 build ends up with the following settings:
MACHINE=macppc
MACHINE_ARCH=powerpc64
As far as I can tell, librump doesn't want to use the target include
files in destdir.x/usr/include but does want to include stuff from
the arch-specific parts of the kernel. To do so it appears to try
to make two symbolic links in its obj/ directories:
machine/ -> sys/arch/$MACHINE/include/
$MACHINE_ARCH/ -> sys/arch/$MACHINE_ARCH/include/
For powerpc64 it doesn't bother making the second link since there
is no arch/powerpc64 directory.
It then #includes stuff like <machine/types.h> and <machine/ansi.h>
via the first link. Unfortunately, <macppc/types.h> and
<macppc/ansi.h>, along with pretty much <macppc/anything.h>,
recursively include <powerpc/anything.h>, but a link named
"powerpc" doesn't exist and the above happens.
>How-To-Repeat:
Do a
MACHINE=macppc64 ./build.sh distribution
in a clean source tree.
>Fix:
I don't know. I get around it now by doing a regular macppc
build in the source tree before trying macppc64; apparently
the librump makefiles don't clean up the old links before
doing the new build.
Home |
Main Index |
Thread Index |
Old Index