手册中提到的fir_int测试文件在benchmarks/simple/fir_int下,tcc驱动脚本在scripts/下。
1,执行./tcc -bench fir_int提示:
- tcc: ERROR: Trimaran root not specified!
执行source envrc.bash,此时再echo $PATH和并使用set命令会有相应trimaran条目。
再次执行出错,最后的提示为:
- tcc: ERROR: compile_bench -nosync -p
- /home/trimaran/trimaran/openimpact/parms/STD_PARMS.IMPACT unsuccessful, bailing out!
2,现在转到手册中的Running OpenIMPACT manually.
- mkdir /fir_int_O/impact_intermediate
- cd dir_int_O/impact_intermediate
- compile_bench fir_int -c2O_tr -p $TRIMARN_ROOT/openimpact/parms/STD_PARMS.IMPACT -project full
[-c2O_tr中,2后面是大写的o] 依然出错(改变bench为fir或strcpy出现同样的错误):
- Pcode error: data.c:Plink_SetLink:778 Attempting to set circular link.
——不会是因为autoconf version2.54(may require this exact version)的原因吧~~——
3,下载一份autoconf2.54源文件编译安装。
4,重新编译所有的trimaran,错误依旧。在openimpact/src/Pcode/Plink下找到data.c文件,定位到发生错误位置778行,注释掉报告错误的两行试试,错误仍然存在,暂不知什么原因。
——上课回来——
5,全清零重来。
6,依序安装bison,flex(yacc/lex)。
[只是突然网上看到这个,试一试,或许和之前曾经SimpleScalar编译时的某点错误一样]
7,重新来编译trimaran。
——在编译openimpact中——
8,利用编译的时间再继续阅读一下手册,注意在标注中提到"Ubuntu systems link 'sh' to teh 'dash' shell which has strict POSIX compatability. Som trimaran components require non-POSIX extensions that existed in 'sh', so it's necessary to either change the link, or change the offending scripts to use 'bash' instead."
9,编译完成openimpact之后,单独测试,错误依旧。
此时,我们去/bin/下,根据上面的说明来改变sh,使其链接到bash。
10,哇靠,竟然出现了令人欣喜的"Finished '....' Processed fir_int from 21:05:52 05/21/12 to 21:06:27 05/21/12。
结论:各种迹象表明,应该dash->bash的问题。
收获:遇到问题的时候是挺头大的,不过解决问题后非常有感觉,尤其是柳暗花明时,哈哈。
阅读(1035) | 评论(0) | 转发(0) |