如何安裝 powerpc-405-linux-gnu-gcc?
在一個
C
工作項目中,make
為各種目標建構,其中一個顯然是 powerpc-405。該特定目標的建構失敗,因為我沒有安裝工具鏈。make[7]: /opt/crosstool/gcc-4.2.4-glibc-2.3.6/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-gcc: Command not found
問:我對 Linux 領域常見的“下載原始碼,然後自己建構”範式的理解非常不穩定。有人可以描述我如何針對錯誤中提到的工具鏈執行此操作嗎?
到目前為止,我已經確定/認為我需要去<ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.2.4/>。
問:我應該從這裡下載什麼?我假設我可以放心地忽略諸如 fortran 和 java 之類的東西。但是從 { gcc-4.2.4, gcc-core-4.2.4, gcc-g++-4.2.4, gcc-testsuite-4.2.4 } 中,我應該下載哪個?全部?
Q : 下載+解壓正確的壓縮包後,下一步究竟是什麼?我有一個初步的理解,最終我會做
configure; make; make install
咒語,但我不清楚之前和之後我需要做什麼。問:您會注意到錯誤提示
glibc-2.3.6
。這在圖片中的什麼位置?如上所述,我所在的 ftp 站點僅提及gcc-4.2.4
. 我不清楚什麼“融合”gcc-4.2.4
以及glibc-2.3.6
解決建構錯誤的目的。問:上面提到的 ftp 站點看起來像一個“通用”站點
gcc
。即從文件名來看,我不認為與powerpc-405
. 我是在正確的軌道上,還是應該尋找其他地方?我對“powerpc”和“gcc”的各種組合進行了Google搜尋,但沒有找到任何看起來導致powerpc-405
-specific的東西gcc
。>uname -a Linux linuxbox 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
通過這個具體的例子,我想了解 Linux 使用者/開發人員如何理解去哪裡下載交叉編譯器工具鏈並編譯它們。
我對 Linux 領域常見的“下載原始碼,然後自己建構”範式的理解非常不穩定。有人可以描述我如何針對錯誤中提到的工具鏈執行此操作嗎?
基本上,請閱讀http://www.kegel.com/crosstool/current/doc/crosstool-howto.html的快速入門和故障排除部分
更一般地,請參閱如何從原始碼編譯和安裝程序以從原始碼編譯。
這應該回答你的一些問題。
我應該從這裡下載什麼?我假設我可以放心地忽略諸如 fortran 和 java 之類的東西。但是從 { gcc-4.2.4, gcc-core-4.2.4, gcc-g++-4.2.4, gcc-testsuite-4.2.4 } 中,我應該下載哪個?全部?
請注意,crosstool 會為您下載它們!
下載+解壓正確的壓縮包後,下一步究竟是什麼?我初步了解最終我將進行配置;製作; make install 咒語,但我不清楚之前和之後我需要做什麼。
crosstool 為您編譯它/它們。
更一般地說:在下載所需的原始碼之前,您首先閱讀網站上的建構說明。
一般來說,
./configure && make && sudo make install
事情是這樣的:您提取到臨時目錄的源,cd 進入目錄並執行
./configure
這將檢查是否滿足所有先決條件。它將提及任何缺少的庫,這些庫位於您需要的 dev(debian)/devel(redhat/suse) 包中。找到它們並安裝,然後./configure
重試。一旦完成且沒有錯誤,您將發出
make
.希望它沒有錯誤地完成,您發出
sudo make install
.有時,您會得到一個 autogen.sh 而不是 configure …閱讀網站上的說明。
您會注意到錯誤提到了 glibc-2.3.6。這在圖片中的什麼位置?如上所述,我所在的 ftp 站點僅提及 gcc-4.2.4。我不清楚什麼“融合”了 gcc-4.2.4 和 glibc-2.3.6 以解決建構錯誤。
glibc 是使用的 c 庫。目標平台上的 c 庫必須是兼容版本,否則您會遇到問題。同樣,crosstool 會為您處理這個問題。
所以 glibc 是一個 ac 庫,就像一個 DLL,所有用 gcc(C 編譯器)編譯的程序都使用它。gcc 將給定平台/glibc 版本組合的原始碼(文本文件)編譯成二進製文件、執行檔和庫。
您可以使用 ldd 查看給定程序的依賴關係,
ldd /usr/bin/gawk
例如 。提到的 ftp 站點看起來像一個“通用”gcc。即從文件名來看,我認為與 powerpc-405 沒有任何關係。我是在正確的軌道上,還是應該尋找其他地方?我對“powerpc”和“gcc”的各種組合進行了Google搜尋,但沒有發現任何看起來會導致特定於 powerpc-405 的 gcc 的東西。
gcc 原始碼可以針對許多目標平台進行編譯。在這裡,您可以看到原始碼,獨立於平台,一個來源適合所有。