首先,博主“wyj7260”的一些列关于gem5与cpu2006的文章给了我们很大帮助与指导,在此对他表示感谢。以下是他的文章专栏,可以进行相关查阅:
http://blog.csdn.net/wyj7260
以下是我在gem5中运行spec cpu2006时遇到的一些问题及解决方法。
(我的服务器os:redhat6.2 64位)
首先,正如http://blog.csdn.net/wyj7260/article/details/8278947一文中描述的那样,在gem5中运行cpu2006的benchmark需要静态编译的exe。但是像该文描述的那样,修改过experiment5.cfg后进行build时,我的服务器会报错,如下:
/usr/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
specmake: *** [bzip2] Error 1
报错是提示找不到c函数库
原因是要进行静态编译,需要.a静态库,对应这里的“-lc”,就是需要libc.a静态库。在我的服务器上“locate libc.a”,会看到其实我的机器上是有这个库的,路径为“/usr/lib/x86_64-redhat-linux5E/lib64/libc.a”。
我的解决方法是在/lib目录下建立一个该静态库的软链接(在任何LD_LIBRARY_PATH能检索到的目录中建立链接均可):
ln -sv /usr/lib/x86_64-redhat-linux5E/lib64/libc.a /lib/libc.a