SPEC CPU 2017 1.0.5 不同版本CentOS 7 8 安装笔记

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

执行测试

开始编译用例了

相关推荐
呱呱巨基11 分钟前
C/C++ 内存管理
c++·笔记·学习
jingling5551 小时前
uniapp | 快速上手ThorUI组件
前端·笔记·前端框架·uni-app
lingggggaaaa2 小时前
小迪安全v2023学习笔记(八十二讲)—— Java组件安全&Solr&Shiro&Log4j&CVE复现
笔记·学习·安全
好望角雾眠2 小时前
第四阶段C#通讯开发-1:通讯基础理论,串口,通讯模式,单位转换,代码示例
开发语言·笔记·c#·串口·通讯
贝塔实验室3 小时前
两种常用的抗单粒子翻转动态刷新方法
论文阅读·经验分享·笔记·科技·学习·程序人生·fpga开发
范纹杉想快点毕业10 小时前
ZYNQ PS 端 UART 接收数据数据帧(初学者友好版)嵌入式编程 C语言 c++ 软件开发
c语言·笔记·stm32·单片机·嵌入式硬件·mcu·51单片机
佛天华12 小时前
centos 时间校准
linux·运维·centos
茯苓gao13 小时前
STM32G4 电流环闭环
笔记·stm32·单片机·嵌入式硬件·学习
easy202013 小时前
机器学习的本质:从跑模型到真正解决问题
笔记·学习·机器学习
汇能感知14 小时前
摄像头模组在智能家居设备中的应用
经验分享·笔记·科技