SPEC CPU2006 483.xalancbmk and 447.dealII fails to build编译错误

参考:解决方法,cfg中选项的写法

问题描述:使用如下命令编译483和447测试集时

runspec --config=sff-alpha32.cfg --size=ref --noreportable --tune=base --iterations=1 dealII
runspec --config=sff-alpha32.cfg --size=ref --noreportable --tune=base --iterations=1 xalancbmk

出现如下编译错误:

Build of 483.xanancbmk dies with:

FormatterToHTML.cpp: In member function 'void xalanc_1_8::FormatterToHTML::initCharsMap()': 
FormatterToHTML.cpp:139:42: error: 'memset' was not declared in this scope 
specmake: *** [FormatterToHTML.o] Error 1

and 447.dealII with:

quadrature.cc: In constructor 'Quadrature<dim>::Quadrature(const std::vector<Point<dim> >&)':
quadrature.cc:64:26: error: 'atof' is not a member of 'std'
specmake: *** [quadrature.o] Error 1

解决方法:出现上述错误的主要原因是缺少库文件,GCC有很好的选项可以解决该问题。只需要在alpha.cfg(编译配置文件)文件中的Portability部分加入如下选项:

########################################################## # Portability Section 主要是两个-inlude部分 ##########################################################

483.xalancbmk=default=default=default:
CXXPORTABILITY= -DSPEC_CPU_LINUX -include cstdlib -include cstring

447.dealII=default:
CXXPORTABILITY = -include cstdlib -include cstring

修改好配置文件后在重新编译一遍即可。

你可能感兴趣的:(编译,spec2006,xalancbmk,dealII)