Subject: port-i386/33431: i386 stand doesn't compile
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Bernd Ernesti <pr200605@veego.de>
List: netbsd-bugs
Date: 05/07/2006 04:55:00
>Number:         33431
>Category:       port-i386
>Synopsis:       i386 stand doesn't compile
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun May 07 04:55:00 +0000 2006
>Originator:     Bernd Ernesti
>Release:        NetBSD 3.99.19
>Organization:
	
>Environment:
	
	
System: NetBSD 3.99.19
Architecture: i386
Machine: i386
>Description:
	The i386 stand subdirectory can not be compiled after libprop was
	added:

#   compile  kern/prop_array.o
cc -O2 -Wall -Wmissing-prototypes -Wstrict-prototypes -Os -ffreestanding   -Werror -mcpu=i386 -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/arch/i386 -DBOOTXX -I /src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../lib -I /usr/obj/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1 -DBOOTXX_SECTORS=15 -DPRIMARY_LOAD_ADDRESS=0x600 -DSECONDARY_LOAD_ADDRESS=0x10000 -DXXfs_open=ffsv1_open -DXXfs_close=ffsv1_close -DXXfs_read=ffsv1_read -DXXfs_stat=ffsv1_stat -DFS=ffsv1 -DNO_LBA_CHECK -nostdinc -D_STANDALONE -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../../ -DLIBSA_SINGLE_FILESYSTEM=xxfs -DLIBSA_NO_TWIDDLE -DLIBSA_NO_FD_CHECKING -DLIBSA_NO_RAW_ACCESS -DLIBSA_NO_FS_WRITE -DLIBSA_NO_FS_SEEK -DLIBSA_USE_MEMCPY -DLIBSA_USE_MEMSET -DLIBSA_SINGLE_DEVICE=blkdev -DLIBKERN_OPTIMISE_SPACE -D"blkdevioctl(x,y,z)=EINVAL" -D"blkdevclose(f)=0" -D"devopen(f,n,fl)=(*(fl)=(void *)n,0)" -DLIBSA_NO_DISKLABEL_MSGS -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../
 ../..//lib/libkern/../../../common/lib/libc/quad -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libc/string -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libc/arch/i386/string  -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libc/quad -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libc/string -I/src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libc/arch/i386/string    -c    /src/sys/arch/i386/stand/bootxx/bootxx_ffsv1/../../../../..//lib/libkern/../../../common/lib/libprop/prop_array.c -o prop_array.o
/src/common/lib/libprop/prop_array.c:39:29: prop/prop_array.h: No such file or directory
In file included from /src/common/lib/libprop/prop_array.c:40:

	Note the missing include for src/common/include.
 
	I tried to change src/common/lib/libprop/Makefile.inc to:

COMMON_DIR:=${.PARSEDIR}
.PATH:  ${COMMON_DIR}
SRCS+=  prop_array.c prop_bool.c prop_data.c prop_dictionary.c \
        prop_number.c prop_object.c prop_string.c
CPPFLAGS+=-I${COMMON_DIR}/../../include

	But that caused an error:
In file included from /src/common/include/prop/prop_array.h:42,
                 from /src/common/lib/libprop/prop_array.c:39:
/src/common/include/prop/prop_object.h:46: error: redefinition of `boolean_t'
/src/sys/sys/types.h:197: error: `boolean_t' previously declared here
*** Error code 1

	Maybe src/common/include/prop/prop_array.h needs an check for _STANDALONE too.

>How-To-Repeat:
	cd src/sys/arch/i386/stand
	make
>Fix:

>Unformatted: