This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Update bsd_tcpip, now build fails due to include of sys/time.h
- From: Grant Edwards <grant dot b dot edwards at gmail dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: Thu, 29 Jul 2010 21:24:17 +0000 (UTC)
- Subject: [ECOS] Update bsd_tcpip, now build fails due to include of sys/time.h
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