(Standard Performance Evaluation Corporation)標準性能評估公司(SPEC) 是一個非營利性機構。開發的基準程序集主要用來測試CPU等性能。
今天幫同學編譯SPEC2006,寫個報告,具體編譯過程中隨平臺環境等因素可能會發生不同的錯誤,下面是我所遇到的問題及解決方法。
編譯過程:
1、解壓源碼。tar xzvf spec2006-12-9-03.tar.gz
2、進入主目錄生成工具。sh install.sh
所遇到問題及解決方案:
(1)bzip2不可執行,原因不詳,解決方法是再運行一次install.sh即可
(2)生成perl的時候發生依賴<command-line>問題。原因是makedepend生成makefile只過濾了<command line>,而沒有過濾掉<command-line>,導致生成makefile中依賴文件有<command-line>。一些高版本自動化工具會過濾,而低版本不會過濾,所以視情況而定。解決方法是打開tools/src/perl-5.87/makedepend.SH(注意不是makedepend)在相應位置加入過濾。
(3)asm/page.h不存在。高版本內核中已經沒有asm/page.h的頭文件,所以打開tools/src/perl-5.8.7/ext/IPC/SysV.s文件注視掉即可。
3、到此工具生成完成。設置路徑等變量。查看SHELL變量,如果是BASH的話,source shrc,如果是CSHELL的話,source cshrc。
4、runspec -h查看幫助。主要選項-c 加配置, -action build。
5、修改配置文件。從conf目錄下選擇一個配置文件修改。比如,ia64_osprey_O3.cfg,把裏面的CC/CXX等變量用指定的gcc/g++賦值。至於各配置文件差別沒有仔細考慮。
6、示例:runspec -c ../config/ia64_osprey_O3.cfg -action build 429.mcf
7、編譯成功運行結果。到默認目錄下429.mcf/run/build_base_ia64_linux.0000文件夾下運行命令./mcf inp.in。其中SPEC2006 COMMAND可參見手冊。