RISC-V初體驗——挫折與對策(1)
新手上路
新事物的學習過程是一個跟頭接著一個跟頭。密集打擊過後,我們把失敗經驗以及我們所摸索出來的對策整理出來,用來幫助同路人少入坑,少走彎路。挫折與經驗僅供參考,畢竟我們也是novice, greenhand, and freshman.
—— 王冀平 李浩 姚鵬飛
虛擬機安裝之前的準備階段
01
錯誤現象:
源代碼安裝gcc時出現 error:undefined reference to "lexer_line"
對策:
採用如下命令:
sudo apt-get install bison build-essential flex
02
錯誤現象:
虛擬機安裝ubuntu鏡像提醒:
已將該虛擬機配置為使用 64 位客戶機操作系統。但是,無法執行 64 位操作。
此主機支持 Intel VT-x,但 Intel VT-x 處于禁用狀態。
對策:
重啟系統,過程中保持按住delete鍵,進入BIOS系統,將Intel Virtualization Technology選項更改為Enable,F10保存退出。
03
錯誤現象:
Vmware提示:
無法連接虛擬設備sata0:0,因為主機上沒有相應設備。
對策:
點擊虛擬機設置,硬體,將CD/DVD使用ISO映像文件選擇為已下載的ubuntu文件所在目錄下。
04
錯誤現象:
PUTTY連接虛擬機LINUX連接超時
Network error:connection time out.
對策:
首先確認是否開啟ssh服務,並且關閉了防火牆,再檢查虛擬機和主機之間能否ping通。
若仍然不能連接,嘗試點擊虛擬機設置->硬體,將網路配適器連接模式選為NAT模式。
05
錯誤現象:
PUTTY連接虛擬機LINUX連接被拒絕
Network error:connection refused。
對策:
同時按住window鍵和R鍵,在對話框中輸入cmd,進入系統命令行後輸入:
$ ipconfig
查看本機IP,本機與虛擬機IP地址前三位需相同。
06
錯誤現象:
error:No such file or directory,找不到對應文件和目錄。
對策:
執行 echo $ PATH 命令查看PATH中是否有之前所設定的路徑。
RISC-V GCC/Newlib Toolchain的編譯安裝階段
01
???
錯誤現象:
fatal: Not a git repository (or any of the parent directories): .git
對策:
輸入: $ git init
3
錯誤現象:
執行:Git clone https://github.com/riscv/riscv-tools.git 後提示獲取文件不完整。
對策:
請保證中途的網路連接正常否則會出現文件不完整的錯誤。
4
錯誤現象:
添加環境變數後不能使用。
對策:
1.直接用export命令:
$ export $TOP=/opt/home/riscv
查看是否已經設好,可用命令echo $TOP查看
2.修改profile文件:
$ vi /etc/profile
在裡面加入(文件的最後添加):
$ export PATH="$PATH:/opt/xx/build_tools/bin"
3.修改.bashrc文件:
$ vi /root/.bashrc
在裡面加入:
$ export PATH="$PATH:/opt/xx/build_tools/bin"
後兩種方法一般需要重新註銷系統才能生效,最後可以通過echo命令測試一下。
編譯安裝riscv64-unknown-linux-gnu-gcc階段
01
錯誤現象:
C++11不受支持,儘管gcc是已更新的。報錯:linux Your compiler does not have the necessary c++11 support!
對策:
此問題是由於舊的OS安裝庫引起的。
CentOS發行的可能解決方案:
$ wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
$ sudo yum upgrade
$ sudo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
$ scl enable devtoolset-2 bash
最後一次操作將打開一個外殼。
嘗試從這個shell中運行.build.sh
02
錯誤現象:
「error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+」.
對策:
首先嘗試一下命令:
$ cd /riscv-gnu-toolchain/riscv-gcc
$ contrib/download_prerequisites
$ sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel
如果不起作用請確認您的c++11是否安裝,請參考C++11的安裝說明。
到這裡我們本期的內容就結束了,下期再見!


TAG:全球大搜羅 |