我有一个使用qemu模拟运行的riscv64 linux(fedora 28)。
[gqb@stage4 cpu2006]$ uname -a
Linux stage4.fedoraproject.org 4.19.0-rc8 #1 SMP Wed Oct 17 15:11:25 UTC 2018 riscv64 riscv64 riscv64 GNU/Linux
我的gcc版本是7.3.1 20180303 (Red Hat 7.3.1-5) (GCC) 。
我已经成功构建了工具并安装了它(执行./install.sh )。
[gqb@stage4 cpu2006]$ ./install.sh
SPEC CPU2006 Installation
Top of the CPU2006 tree is '/home/gqb/cpu2006'
There appears to be only one valid toolset:
riscv64-linux
Use this? (y/n)
y
Checking the integrity of your source tree...
Checksums are all okay.
Removing previous tools installation
Unpacking binary tools for riscv64-linux...
Checking the integrity of your binary tools...
Checksums are all okay.
Top of SPEC benchmark tree is '/home/gqb/cpu2006'
Everything looks okay. cd to /home/gqb/cpu2006,
source the shrc file and have at it!
我从这里获取了cfg文件,并进行了以下更改:
- CC = riscv64-unknown-linux-gnu-gcc -static -Wl,-Ttext-segment,0x10000
- CXX = riscv64-unknown-linux-gnu-g++ -static -Wl,-Ttext-segment,0x10000
- FC = riscv64-unknown-linux-gnu-gfortran -static -Wl,-Ttext-segment,0x10000
+ CC = gcc -static
+ CXX = g++ -static
+ FC = gfortran -static
但是,当我尝试运行runspec --config riscv.cfg --noreportable 482.sphinx3进行测试时,出现错误:
[gqb@stage4 cpu2006]$ runspec --config riscv.cfg --noreportable 482.sphinx3
runspec v4662 - Copyright 1999-2006 Standard Performance Evaluation Corporation
Using 'riscv64-linux' tools
Reading MANIFEST... 17911 files
Loading runspec modules...............
Locating benchmarks...found 31 benchmarks in 12 benchsets.
Locating output formats: ASCII, config, CSV, flags, HTML, mail, PDF, PostScript, raw, Screen, Submission Check
Reading config file '/home/gqb/cpu2006/config/riscv.cfg'
Benchmarks selected: 482.sphinx3
Compiling Binaries
Building 482.sphinx3 ref base riscv default: (build_base_riscv.0000)
Error with make 'specmake build': check file '/home/gqb/cpu2006/benchspec/CPU2006/482.sphinx3/run/build_base_riscv.0000/make.err'
Error with make!
*** Error building 482.sphinx3
Build errors: 482.sphinx3(base)
Parsing Flags
Looking at 482.sphinx3 base riscv default: no stored flags!
Flag Parsing Complete
Setting Up Run Directories
Running Benchmarks
Error: 1x482.sphinx3
Producing Reports
mach: default
ext: riscv
size: ref
set: int
set: fp
format: raw -> /home/gqb/cpu2006/result/CFP2006.1080.rsf
format: flags -> /home/gqb/cpu2006/result/CFP2006.1080.flags.html
format: ASCII -> /home/gqb/cpu2006/result/CFP2006.1080.txt
format: CSV -> /home/gqb/cpu2006/result/CFP2006.1080.csv
format: HTML -> /home/gqb/cpu2006/result/CFP2006.1080.html, CFP2006.1080.gif
The log for this run is in /home/gqb/cpu2006/result/CPU2006.1080.log
runspec finished at Mon Nov 18 11:24:03 2019; 190 total seconds elapsed
[gqb@stage4 cpu2006]$ cat /home/gqb/cpu2006/benchspec/CPU2006/482.sphinx3/run/build_base_riscv.0000/make.err
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
specmake: *** [sphinx_livepretend] Error 1
我以前见过这个问题 ,但似乎无法解决我的问题。
我该如何解决?
谢谢!