Re: Need help: buildworld for CURRENT while under STABLE is not working

From: Harti Brandt <harti_at_freebsd.org>
Date: Mon, 9 Aug 2004 11:39:08 +0200 (CEST)
On Mon, 9 Aug 2004, Danny Braniss wrote:

DB>> On Sunday 08 August 2004 06:51 am, you wrote:
DB>> > > --Boundary-00=_yfRFBa4bKiL1gzl
DB>> > > Content-Type: text/plain;
DB>> > >   charset="us-ascii"
DB>> > > Content-Transfer-Encoding: 7bit
DB>> > > Content-Disposition: inline
DB>> > >
DB>> > > I have STABLE on ad0 and a working snapshot of CURRENT on ad1, I am
DB>> > > trying to run:
DB>> > >
DB>> > > make buildworld -DDESTDIR=/ad1 while booted from STABLE and I keep
DB>> > > getting the following error: (Note: cvsup'ed just before running make
DB>> > > build world still didn't help, neither does cleaning before hand...) 
DB>> > > I'll attach my make.conf in case that helps...
DB>> >
DB>> > type
DB>> > 	make buildworld
DB>> > then when you  are ready to install:
DB>> > 	make installworld DESTDIR=/ad1
DB>> > (notice no -DESTDIR ...)
DB>> >
DB>> > danny
DB>> 
DB>> OK, I just tried that after cleaning the tree and   Igetexaclt y the same 
DB>> failure:
DB>> 
DB>> ===> usr.sbin/bsnmpd/gensnmptree
DB>> /usr/obj/ad1/usr/src/i386/ad1/usr/src/usr.sbin/bsnmpd/gensnmptree created 
DB>> for /ad1/usr/src/usr.sbin/bsnmpd/gensnmptree
DB>> rm -f .depend
DB>> mkdep -f .depend -a    
DB>> -I/ad1/usr/src/usr.sbin/bsnmpd/gensnmptree/../../../contrib/bsnmp/lib 
DB>> -I/usr/obj/ad1/usr/src/i386/legacy/usr/include /ad1/usr/src/usr.sbin/bsnmpd/gensnmptree/../../../contrib/bsnmp/gensnmptree/gensnmptree.c
DB>> /ad1/usr/src/usr.sbin/bsnmpd/gensnmptree/../../../contrib/bsnmp/gensnmptree/gensnmptree.c:66: 
DB>> stdint.h: No such file or directory
DB>> mkdep: compile failed
DB>> *** Error code 1
DB>> 
DB>> Stop in /ad1/usr/src/usr.sbin/bsnmpd/gensnmptree.
DB>> *** Error code 1
DB>> 
DB>> Stop in /ad1/usr/src.
DB>> *** Error code 1
DB>> 
DB>> Stop in /ad1/usr/src.
DB>> *** Error code 1
DB>> 
DB>> Stop in /ad1/usr/src.
DB>> 
DB>> Now here are the locations of stdint.h on my system:
DB>> [mike]/ad1/usr/src>locate stdint.h
DB>> /ad1/usr/include/machine/_stdint.h
DB>> /ad1/usr/include/stdint.h
DB>> /ad1/usr/include/sys/stdint.h
DB>> /ad1/usr/src/sys/alpha/include/_stdint.h
DB>> /ad1/usr/src/sys/amd64/include/_stdint.h
DB>> /ad1/usr/src/sys/arm/include/_stdint.h
DB>> /ad1/usr/src/sys/i386/include/_stdint.h
DB>> /ad1/usr/src/sys/ia64/include/_stdint.h
DB>> /ad1/usr/src/sys/powerpc/include/_stdint.h
DB>> /ad1/usr/src/sys/sparc64/include/_stdint.h
DB>> /ad1/usr/src/sys/sys/stdint.h
DB>> [mike]/ad1/usr/src>
DB>> 
DB>> It wants to pull from /usr/include.  I tested this by putting a soft link 
DB>> from /usr/include/stdint.h to /ad1/usr/include/stdint.h and it got past that 
DB>> one error to only error on another header file.  It is my understanding that
DB>> only header files from under (in my case)/ad1/usr/src should be needed to 
DB>> compile the world correct?
DB>> 
DB>> -Mike
DB>
DB>after my last cvsupdate, now im also suffering from this :-(,
DB>the problem is indeed in /usr/src/usr.sbin/bsnmpd/gensnmptree/gensnmptree.c,
DB>i simply removed the offending include and now it's at least cross compiling.

Removing the include is problematic because the program needs the fixed 
size integer types (uint32_t for example). The correct thing to get these 
is to include <stdint.h> (see 7.19 of C99). There appears to be another 
header defining these types that probably shouldn't do this.

I'm currently looking into properly getting tools/build/Makefile to 
install the necessary file into 
${MAKEOBJDIRPREFIX}/usr/src/{MACHINE}/legacy/include. That appears to be 
not easy, because stdint.h is a symbolic link to sys/stdint.h which in 
turn needs sys/_types.h, machine/_stdint.h which in turn needs 
machine/_types.h. Argh....

harti
Received on Mon Aug 09 2004 - 07:39:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:05 UTC