I updated my bsd_tcpip package, and now I can no longer build eCos: arm-elf-gcc -c -I/home/devicemaster/ecos-build/install/include -I/home/devicemaster/ecos2src/io/eth/current -I/home/devicemaster/ecos2src/io/eth/current/src -I/home/devicemaster/ecos2src/io/eth/current/tests -I. -I/home/devicemaster/ecos2src/io/eth/current/src/net/ -finline-limit=7000 -mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -g -O2 -ffunction-sections -fdata-sections -fno-exceptions -D_KERNEL -D__ECOS -Wp,-MD,src/net/eth_drv.tmp -o src/net/io_eth_eth_drv.o /home/devicemaster/ecos2src/io/eth/current/src/net/eth_drv.c In file included from /home/devicemaster/ecos-build/install/include/net/if.h:70, from /home/devicemaster/ecos2src/io/eth/current/src/net/eth_drv.c:63: /opt/ecos/gnutools/arm-elf/arm-elf/include/sys/time.h:16: redefinition of `struct timeval' make[1]: *** [src/net/eth_drv.o.d] Error 1 make[1]: Leaving directory `/home/devicemaster/ecos-build/io/eth/current' make: *** [build] Error 2
If I comment out the include of <sys/time.h>, then I get complaints about ifi_lastchange having an incomplete type elsewhere: arm-elf-gcc -c -I/home/devicemaster/ecos-build/install/include -I/home/devicemaster/ecos2src/net/common/current -I/home/devicemaster/ecos2src/net/common/current/src -I/home/devicemaster/ecos2src/net/common/current/tests -I. -I/home/devicemaster/ecos2src/net/common/current/src/ -finline-limit=7000 -mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -g -O2 -ffunction-sections -fdata-sections -fno-exceptions -D_KERNEL -D__ECOS -D__INSIDE_NET -Wp,-MD,src/inet_addr.tmp -o src/net_common_inet_addr.o /home/devicemaster/ecos2src/net/common/current/src/inet_addr.c In file included from /home/devicemaster/ecos2src/net/common/current/src/inet_addr.c:108: /home/devicemaster/ecos-build/install/include/net/if.h:136: field `ifi_lastchange' has incomplete type /home/devicemaster/ecos-build/install/include/net/if.h:137: confused by earlier errors, bailing out make[1]: *** [src/inet_addr.o.d] Error 1 make[1]: Leaving directory `/home/devicemaster/ecos-build/net/common/current' make: *** [build] Error 2 Apparently eCos defines it's own "struct timeval" somewhere and then assumes it can include the toolchain's <sys/time.h> without having a namespace collision? -- Grant Edwards grant.b.edwards Yow! Could I have a drug at overdose? gmail.com -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss