文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Ubuntu 10.04下TinyOS无法编译的问题

Ubuntu 10.04下TinyOS无法编译的问题

时间:2011-02-19  来源:Homme Mistérieux

症状如下,在终端内输入编译命令“make telosb”,直接给我甩回来一长串的syntax error,自带的例程怎么还可能有语法错误?!错误信息的前两行是

mkdir -p build/telosb
    compiling BlinkAppC to a telosb binary
ncc -o build/telosb/main.exe  -Os -O -mdisable-hwmul -fnesc-separator=__ -Wall -Wshadow -Wnesc-all -target=telosb -fnesc-cfile=build/telosb/app.c -board= -DDEFINED_TOS_AM_GROUP=0x22 -DIDENT_APPNAME=\"BlinkAppC\" -DIDENT_USERNAME=\"shouyanbo\" -DIDENT_HOSTNAME=\"yanbo-thinkpad\" -DIDENT_USERHASH=0x38722225L -DIDENT_TIMESTAMP=0x4d5e9b04L -DIDENT_UIDHASH=0xd22d1fe1L  BlinkAppC.nc -lm
/usr/lib/ncc/deputy_nodeputy.h:4:20: error: stddef.h: No such file or directory
/usr/lib/ncc/nesc_nx.h:14:26: error: sys/inttypes.h: No such file or directory

然后接下去还有一长串的语法错误信息:

/usr/lib/ncc/nesc_nx.h:235: syntax error before `__nesc_ntoh_uint8'
/usr/lib/ncc/nesc_nx.h:240: syntax error before `__nesc_hton_uint8'
/usr/lib/ncc/nesc_nx.h:242: warning: type defaults to `int' in declaration of `base'
/usr/lib/ncc/nesc_nx.h:242: `value' undeclared here (not in a function)
/usr/lib/ncc/nesc_nx.h:242: warning: data definition has no type or storage class
/usr/lib/ncc/nesc_nx.h:243: syntax error before `return'
/usr/lib/ncc/nesc_nx.h:246: syntax error before `__nesc_ntoh_leuint8'
/usr/lib/ncc/nesc_nx.h:251: syntax error before `__nesc_hton_leuint8'
/usr/lib/ncc/nesc_nx.h:253: warning: type defaults to `int' in declaration of `base'
/usr/lib/ncc/nesc_nx.h:253: redefinition of `base'
/usr/lib/ncc/nesc_nx.h:242: previous declaration of `base'
/usr/lib/ncc/nesc_nx.h:253: `value' undeclared here (not in a function)
/usr/lib/ncc/nesc_nx.h:253: warning: data definition has no type or storage class
/usr/lib/ncc/nesc_nx.h:254: syntax error before `return'
/usr/lib/ncc/nesc_nx.h:257: syntax error before `__nesc_ntoh_int8'
/usr/lib/ncc/nesc_nx.h:257: syntax error before `__nesc_hton_int8'
/usr/lib/ncc/nesc_nx.h:257: syntax error before `__nesc_ntoh_leint8'
/usr/lib/ncc/nesc_nx.h:257: syntax error before `__nesc_hton_leint8'
/usr/lib/ncc/nesc_nx.h:258: syntax error before `__nesc_bf_decode8'
etc.

而且问题好像是针对Telob的,编译micaz一点问题没有,“make micaz”运行地好好的。

Google了好一阵子终于找到了解决方法。打开文件/opt/tinyos-2.1.1/support/make/msp/msp.rules,在

OBJCOPY = msp430-objcopy
OBJDUMP = msp430-objdump

两行前加入

CFLAGS += -I/usr/msp430/include
CFLAGS += -I/usr/lib/gcc-lib/msp430/3.2.3/include

保存、退出,问题解决。

按照原帖子作者自己的说法是,这是个“偏方”,具体是什么原因造成这个问题的,有没有更“漂亮”的办法来解决它,不知道。说白了就是凑活着用。想想也是,我们是用TinyOS,这种问题就留给TinyOS的开发人员吧。

现在已经把Ubuntu的自动更新禁用了,以后就手动给需要的软件升级了,不瞎升了,系统稳定最重要。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载