PXEboot compile error (missing .h)

D. Pageau dpageau at infodev.ca
Fri Jul 30 06:29:42 PDT 2004


Need help with PXEBoot.

http://people.freebsd.org/~alfred/pxe/en_US.ISO8859-1/articles/pxe/article.html

section 3 Bootstrap Setup

# rm -rf /usr/obj/*
# cd /usr/src/sys/boot
# make

===> ficl
Warning: Object directory not changed from original /usr/src/sys/boot/ficl
===> i386
===> i386/mbr
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/mbr
===> i386/boot0
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/boot0
===> i386/btx
===> i386/btx/btx
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/btx/btx
===> i386/btx/btxldr
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/btx/btxldr
===> i386/btx/lib
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/btx/lib
===> i386/boot2
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/boot2
===> i386/cdboot
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/cdboot
===> i386/kgzldr
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/kgzldr
===> i386/libi386
Warning: Object directory not changed from original 
/usr/src/sys/boot/i386/libi386
cc -O -pipe  -I/usr/src/sys/boot/i386/libi386/../../common 
-I/usr/src/sys/boot/i386/libi386/../btx/lib 
-I/usr/src/sys/boot/i386/libi386/../../.. -I. -DCOMPORT=0x3f8 
-DCOMSPEED=9600 
-I/usr/src/sys/boot/i386/libi386/../../../../lib/libstand/ -DTERM_EMU 
-mpreferred-stack-boundary=2  -c pxe.c -o pxe.o
pxe.c:41: net.h: No such file or directory
pxe.c:42: netif.h: No such file or directory
pxe.c:43: nfsv2.h: No such file or directory
pxe.c:44: iodesc.h: No such file or directory
pxe.c:46: bootp.h: No such file or directory
pxe.c:84: warning: `struct netif' declared inside parameter list
pxe.c:84: warning: its scope is only this definition or declaration, 
which is probably not what you want.
pxe.c:85: warning: `struct netif' declared inside parameter list
pxe.c:86: warning: `struct iodesc' declared inside parameter list
pxe.c:88: warning: `struct iodesc' declared inside parameter list
pxe.c:89: warning: `struct iodesc' declared inside parameter list
pxe.c:90: warning: `struct netif' declared inside parameter list
pxe.c:100: elements of array `pxe_ifs' have incomplete type
pxe.c:102: warning: excess elements in struct initializer
pxe.c:102: warning: (near initialization for `pxe_ifs[0]')
pxe.c:102: warning: excess elements in struct initializer
pxe.c:102: warning: (near initialization for `pxe_ifs[0]')
pxe.c:102: invalid use of undefined type `struct netif_stats'
pxe.c:102: warning: excess elements in struct initializer
pxe.c:102: warning: (near initialization for `pxe_ifs[0]')
pxe.c:102: warning: excess elements in struct initializer
pxe.c:102: warning: (near initialization for `pxe_ifs[0]')
pxe.c:103: invalid use of undefined type `struct netif_dif'
pxe.c:105: variable-size type declared outside of any function
pxe.c:107: variable `pxenetif' has initializer but incomplete type
pxe.c:108: warning: excess elements in struct initializer
pxe.c:108: warning: (near initialization for `pxenetif')
pxe.c:109: warning: excess elements in struct initializer
pxe.c:109: warning: (near initialization for `pxenetif')
pxe.c:110: warning: excess elements in struct initializer
pxe.c:110: warning: (near initialization for `pxenetif')
pxe.c:111: warning: excess elements in struct initializer
pxe.c:111: warning: (near initialization for `pxenetif')
pxe.c:112: warning: excess elements in struct initializer
pxe.c:112: warning: (near initialization for `pxenetif')
pxe.c:113: warning: excess elements in struct initializer
pxe.c:113: warning: (near initialization for `pxenetif')
pxe.c:114: warning: excess elements in struct initializer
pxe.c:114: warning: (near initialization for `pxenetif')
pxe.c:115: warning: excess elements in struct initializer
pxe.c:115: warning: (near initialization for `pxenetif')
pxe.c:117: warning: excess elements in struct initializer
pxe.c:117: warning: (near initialization for `pxenetif')
pxe.c: In function `pxe_open':
pxe.c:256: `FNAME_SIZE' undeclared (first use in this function)
pxe.c:256: (Each undeclared identifier is reported only once
pxe.c:256: for each function it appears in.)
pxe.c:276: `rootip' undeclared (first use in this function)
pxe.c:283: `BOOTP_PXE' undeclared (first use in this function)
pxe.c:286: `rootpath' undeclared (first use in this function)
pxe.c:301: `gateip' undeclared (first use in this function)
pxe.c:303: `myip' undeclared (first use in this function)
pxe.c:303: warning: passing arg 2 of `setenv' makes pointer from integer 
without a cast
pxe.c:304: `netmask' undeclared (first use in this function)
pxe.c:304: warning: passing arg 2 of `setenv' makes pointer from integer 
without a cast
pxe.c:305: warning: passing arg 2 of `setenv' makes pointer from integer 
without a cast
pxe.c:310: warning: passing arg 2 of `setenv' makes pointer from integer 
without a cast
pxe.c: In function `pxe_close':
pxe.c:339: `rootpath' undeclared (first use in this function)
pxe.c: At top level:
pxe.c:413: `NFS_FHSIZE' undeclared here (not in a function)
pxe.c: In function `pxe_setnfshandle':
pxe.c:423: `NFS_FHSIZE' undeclared (first use in this function)
pxe.c:423: size of array `buf' has non-integer type
pxe.c: At top level:
pxe.c:490: warning: `struct netif' declared inside parameter list
pxe.c:491: conflicting types for `pxe_netif_match'
pxe.c:84: previous declaration of `pxe_netif_match'
pxe.c:497: warning: `struct netif' declared inside parameter list
pxe.c:498: conflicting types for `pxe_netif_probe'
pxe.c:85: previous declaration of `pxe_netif_probe'
pxe.c:516: warning: `struct netif' declared inside parameter list
pxe.c:517: conflicting types for `pxe_netif_end'
pxe.c:90: previous declaration of `pxe_netif_end'
pxe.c:528: conflicting types for `pxe_netif_init'
pxe.c:86: previous declaration of `pxe_netif_init'
pxe.c: In function `pxe_netif_init':
pxe.c:531: dereferencing pointer to incomplete type
pxe.c:532: dereferencing pointer to incomplete type
pxe.c: At top level:
pxe.c:537: conflicting types for `pxe_netif_get'
pxe.c:88: previous declaration of `pxe_netif_get'
pxe.c:543: conflicting types for `pxe_netif_put'
pxe.c:89: previous declaration of `pxe_netif_put'
pxe.c: In function `sendudp':
pxe.c:553: dereferencing pointer to incomplete type
pxe.c:554: dereferencing pointer to incomplete type
pxe.c:555: dereferencing pointer to incomplete type
pxe.c:560: `netmask' undeclared (first use in this function)
pxe.c:560: `myip' undeclared (first use in this function)
pxe.c:560: dereferencing pointer to incomplete type
pxe.c:563: `gateip' undeclared (first use in this function)
pxe.c: In function `readudp':
pxe.c:589: dereferencing pointer to incomplete type
pxe.c:590: dereferencing pointer to incomplete type
pxe.c: At top level:
pxe.c:105: storage size of `pxe_st' isn't known
*** Error code 1

Stop in /usr/src/sys/boot/i386/libi386.
*** Error code 1

Stop in /usr/src/sys/boot/i386.
*** Error code 1

Stop in /usr/src/sys/boot.

# uname -a
FreeBSD freebsd-410.xxx.xxx. 4.10-RELEASE FreeBSD 4.10-RELEASE #0: Thu 
Jul 29 22:50:28 EDT 2004 
digit at freebsd-410.xxx.xxx.:/usr/src/sys/compile/MYKERNEL  i386

# cat /usr/src/sys/boot/i386/libi386/pxe.c

#include <stand.h>
#include <string.h>
#include <stdarg.h>

#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/udp.h>

#include <net.h>
#include <netif.h>
#include <nfsv2.h>
#include <iodesc.h>

#include <bootp.h>
#include <bootstrap.h>
#include "btxv86.h"
#include "pxe.h"

...

# find / -name net.h
(nothing)


More information about the freebsd-stable mailing list