SPEC CPU2006测试
SPEC CPU2006测试
一、测试步骤
1. 下载附件中的压缩包speccpu2006.tar.gz,在终端中输入:
$tar xzvf speccpu2006.tar.gz –C /home > /dev/null
2. 继续执行如下命令:
$ cd /home/speccpu2006/tools/src/perl-5.8.7/ext/IPC/SysV
修改SysV.xs文件,注释 #include <asm/page.h>这一行
3. 执行如下命令:
$ cd /home/speccpu2006
$ sudo ./install.sh
在弹出的提示信息中,选择yes,后回车
4. 执行如下命令:
$ sudo . ./shrc
$ sudo apt-get install libbz2-dev
$ sudo cp /usr/lib/aarch64-linux-gnu/libbz2.so /usr/lib/aarch64-linux-gnu/libbz2.so.0
$ sudo runspec -V
5. 选择相应测试文件进行测试:
arm平台:
$runspec –c arm64.cfg -r 1 -n 1 all
$runspec –c arm64.cfg -r 64 -n 1 all
x86_64平台:
$runspec –c x86.cfg -r 1 -n 1 all
$runspec –c x86.cfg -r 64 -n 1 all
6. 查看测试结果,结果存放在/home/spec2006/result中
二、执行中遇到的问题
===================================================================
1.×出现如下错误提示glob/glob.c:xxx: undefined reference to `__alloca'`×
===================================================================
错误原因:
glibc2.7引起
解决方法:
修改 spccpu目录下的
/home/speccpu/speccpu2006-v1.0.1/tools/src/make-3.80/glob/glob/glob.c
-
// #if !defined __alloca && !defined __GNU_LIBRARY__
-
# ifdef __GNUC__
-
# undef alloca
-
# define alloca(n) __builtin_alloca (n)
-
# else /* Not GCC. */
-
# ifdef HAVE_ALLOCA_H
-
# include <alloca.h>
-
# else /* Not HAVE_ALLOCA_H. */
-
# ifndef _AIX
-
# ifdef WINDOWS32
-
# include <malloc.h>
-
# else
-
extern char *alloca ();
-
# endif /* WINDOWS32 */
-
# endif /* Not _AIX. */
-
# endif /* sparc or HAVE_ALLOCA_H. */
-
# endif /* GCC. */
-
# define __alloca alloca
-
// #endif
===================================================================
2.×出现如下错误提示:error building Perl×
===================================================================
错误原因:
高版本Linux内核删除了asm/page.h,配置perl时需要用到数学库
解决方法:
打开./tools/src/perl-5.8.8/ext/IPC/SysV/SysV.xs文件,注释asm/page.h头文件(7行)
打开./tools/src/buildtools文件,在编译perl的代码部分,做如下修改:
修改前:
-
LD_LIBRARY_PATH=`pwd`
-
DYLD_LIBRARY_PATH=`pwd`
-
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH
-
./Configure -dOes -Ud_flock $PERLFLAGS -Ddosuid=undef -Dprefix=$INSTALLDIR -Dd_bincompat3=undef -A ldflags=-L${INSTALLDIR}/lib -A ccflags=-I${INSTALLDIR}/include -Ui_db -Ui_gdbm -Ui_ndbm -Ui_dbm -Uuse5005threads ; testordie "error configuring perl"
修改后:
-
LD_LIBRARY_PATH=`pwd`
-
DYLD_LIBRARY_PATH=`pwd`
-
./Configure -Dcc="gcc -lm" -Dlibpth='/usr/local/lib64 /lib64 /usr/lib64' -dOes -Ud_flock $PERLFLAGS -Ddosuid=undef -Dprefix=$INSTALLDIR -Dd_bincompat3=undef -A ldflags=-L${INSTALLDIR}/lib -A ccflags=-I${INSTALLDIR}/include -Ui_db -Ui_gdbm -Ui_ndbm -Ui_dbm -Uuse5005threads ; testordie "error configuring perl"
===================================================================
3.×出现如下错误提示:Udefined reference to pow×
===================================================================
错误原因:
编译perl测试程序时,链接数学库错误
解决方法:
在上述./Configure 前加上
export PERLFLAGS="-A libs=-lm -A libs=-ldl"
更多推荐
所有评论(0)