CentOS 7.9.2009 x86_64
gcc版本
安装成功
runcpu编译报错
gcc版本太低,不识别'-fno-tree-loop-vectorize'
去掉config/gcc.cfg中 -fno-tree-loop-vectorize编译优化参数。
用例编译中
CentOS 8.3.2011 x86_64
gcc版本
安装失败,需要自行编译tools
手动同步tools目录到安装目录
报错
linking make...
glob.o: In function `glob':
glob.c:(.text+0x528): undefined reference to `__alloca'
glob.c:(.text+0x749): undefined reference to `__alloca'
glob.c:(.text+0x7e4): undefined reference to `__alloca'
glob.c:(.text+0x8c0): undefined reference to `__alloca'
glob.o: In function `glob_in_dir':
glob.c:(.text+0x1738): undefined reference to `__alloca'
glob.o:glob.c:(.text+0x1813): more undefined references to `__alloca' follow
collect2: error: ld returned 1 exit status
+ testordie 'error building make with build.sh'
+ test 1 -ne 0
+ echo '!!! error building make with build.sh'
!!! error building make with build.sh
+ '[' -z '' ']'
+ kill -TERM 11966
+ exit 1
++ echo '!!!!! buildtools killed'
!!!!! buildtools killed
++ exit 1
待续
提供一个SPEC CPU 2017 1.0.5 tools 在CentOS 8.3.2011 x86_64 源码编译修复补丁
speccpu2017-tools-src-centos8.3.2011-x86_64.patch
diff -Npr /tmp/tools/src/buildtools tools/src/buildtools
*** /tmp/tools/src/buildtools 2017-01-18 01:55:26.000000000 +0800
--- tools/src/buildtools 2023-07-13 15:57:36.428459392 +0800
*************** if [ -n "$DOMAKE" ] || [ -z "$SKIPNONPER
*** 441,447 ****
PATH=`pwd`:$PATH
export PATH
make; testordie "error rebuilding make with make"
! MAKEFLAGS= make check; testordie "error testing make"
MAKEFLAGS= make install; testordie "error installing make")
fi
--- 441,447 ----
PATH=`pwd`:$PATH
export PATH
make; testordie "error rebuilding make with make"
! # MAKEFLAGS= make check; testordie "error testing make"
MAKEFLAGS= make install; testordie "error installing make")
fi
*************** if [ -n "$DOXZ" ] || [ -z "$SKIPNONPERL"
*** 468,474 ****
--disable-scripts --disable-doc
testordie "error configuring xz"
$MYMAKE; testordie "error building xz"
! MAKEFLAGS= $MYMAKE check; testordie "error testing xz"
MAKEFLAGS= $MYMAKE install; testordie "error installing xz")
fi
--- 468,474 ----
--disable-scripts --disable-doc
testordie "error configuring xz"
$MYMAKE; testordie "error building xz"
! # MAKEFLAGS= $MYMAKE check; testordie "error testing xz"
MAKEFLAGS= $MYMAKE install; testordie "error installing xz")
fi
*************** if [ -n "$DOTAR" ] || [ -z "$SKIPNONPERL
*** 492,498 ****
--without-selinux --without-xattrs
testordie "error configuring tar"
$MYMAKE; testordie "error building tar"
! MAKEFLAGS= $MYMAKE check; testordie "error testing tar"
MAKEFLAGS= $MYMAKE install; testordie "error installing tar")
fi
--- 492,498 ----
--without-selinux --without-xattrs
testordie "error configuring tar"
$MYMAKE; testordie "error building tar"
! # MAKEFLAGS= $MYMAKE check; testordie "error testing tar"
MAKEFLAGS= $MYMAKE install; testordie "error installing tar")
fi
*************** if [ -n "$DOSUM" ] || [ -z "$SKIPNONPERL
*** 509,515 ****
LIBS="$ALLLIBS $SUMLIBS"; export LIBS
./configure $CONFIGFLAGS $SUMFLAGS --prefix=$INSTALLDIR --disable-nls --with-openssl=no; testordie "error configuring specsum package"
$MYMAKE; testordie "error building specsum"
! MAKEFLAGS= $MYMAKE check; testordie "error testing specsum"
MAKEFLAGS= $MYMAKE install; testordie "error installing specsum")
fi
--- 509,515 ----
LIBS="$ALLLIBS $SUMLIBS"; export LIBS
./configure $CONFIGFLAGS $SUMFLAGS --prefix=$INSTALLDIR --disable-nls --with-openssl=no; testordie "error configuring specsum package"
$MYMAKE; testordie "error building specsum"
! # MAKEFLAGS= $MYMAKE check; testordie "error testing specsum"
MAKEFLAGS= $MYMAKE install; testordie "error installing specsum")
fi
*************** if [ -n "$DOPERL2" ] || [ -z "$SKIPPERL2
*** 718,724 ****
# The tests are done after the install; because of the lib path munging,
# the tests will actually use the installed modules. It does not really
# matter either way -- if the test fails, the whole run is scrapped.
! [ -f $i/spec_do_no_tests ] || ($MYMAKE test; testordie "error running $i test suite")
)
done
--- 718,724 ----
# The tests are done after the install; because of the lib path munging,
# the tests will actually use the installed modules. It does not really
# matter either way -- if the test fails, the whole run is scrapped.
! # [ -f $i/spec_do_no_tests ] || ($MYMAKE test; testordie "error running $i test suite")
)
done
diff -Npr /tmp/tools/src/make-4.2.1/glob/glob.c tools/src/make-4.2.1/glob/glob.c
*** /tmp/tools/src/make-4.2.1/glob/glob.c 2015-04-16 04:27:28.000000000 +0800
--- tools/src/make-4.2.1/glob/glob.c 2023-07-13 15:05:16.067393791 +0800
*************** my_realloc (p, n)
*** 208,214 ****
#endif /* __GNU_LIBRARY__ || __DJGPP__ */
! #if !defined __alloca && !defined __GNU_LIBRARY__
# ifdef __GNUC__
# undef alloca
--- 208,214 ----
#endif /* __GNU_LIBRARY__ || __DJGPP__ */
! // #if !defined __alloca && !defined __GNU_LIBRARY__
# ifdef __GNUC__
# undef alloca
*************** extern char *alloca ();
*** 229,235 ****
# define __alloca alloca
! #endif
#ifndef __GNU_LIBRARY__
# define __stat stat
--- 229,235 ----
# define __alloca alloca
! // #endif
#ifndef __GNU_LIBRARY__
# define __stat stat
编译
export FORCE_UNSAFE_CONFIGURE=1
bash buildtools
生成新的checksums
cd /home/speccpu2017
source shrc
./bin/packagetools x86_64
执行测试
文章来源:https://www.toymoban.com/news/detail-584245.html
开始编译用例了文章来源地址https://www.toymoban.com/news/detail-584245.html
到了这里,关于SPEC CPU 2017 1.0.5 不同版本CentOS 7 8 安装笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!