我正在嘗試爲ubuntu安裝gnu arm toolchain。我首先從CodeSourcery下載了tar。但是,當我進入bin文件夾時,我無法運行任何二進制文件。我已經嘗試過./和沒有,並把它放在PATH中,它一直告訴我「命令未找到」,但文件在我面前的文件夾中。然後我嘗試了sudo apt-get install gcc-arm-linux-gnueabi,除非它說它已經成功安裝,我無法在whereis gcc-arm-linux-gnueabi中找到它。誰能幫忙?gcc-arm-linux-gnueabi命令未找到
回答
嘗試使用以下命令:
which gcc-arm-linux-gnueabi
它很可能就是命令安裝在/usr/bin
。
CodeSourcery慣例是對所有可執行文件使用前綴arm-none-linux-gnueabi-
,而不是您提到的gcc-arm-linux-gnueabi
。因此,CodeSourcery gcc的標準名稱爲arm-none-linux-gnueabi-gcc
。
安裝CodeSourcery G ++後,您需要將CodeSourcery目錄添加到您的PATH
中。
通常,我更喜歡將CodeSourcery安裝到類似/opt/arm-2010q1
之類的目錄中。如果您不知道安裝位置,可以使用locate arm-none-linux-gnueabi-gcc
找到它,但是您可能需要強制更新您的定位分區,使用sudo updatedb
,然後locate
才能正常工作。
在您確定安裝在您的CodeSourcery的地方,通過編輯~/.bashrc
這樣其添加到您的PATH:
PATH=/opt/arm-2010q1/bin:$PATH
而且,這是習慣,非常方便地定義
CROSS_COMPILE=arm-none-linux-gnueabi-
在
您.bashrc
,因爲在定義了CROSS_COMPILE
之後,大多數工具都會自動使用正確的編譯器進行ARM編譯,而無需執行任何操作。
這不是CodeSourcery慣例,它是GNU/GCC的一種叫做target-triplet的形式* cpu-vendor-os * – iabdalkader
@mux:我沒有說它是CodeSourcery慣例。我只是說這是習慣性的,大多數工具會自動開始使用它(很可能是因爲GCC target-triplet事情)。 – mvp
您已經在運行x86_64用戶空間的盒子上安裝了針對i686編譯的工具鏈。
使用i686虛擬機。
在Linux上提供多種體系結構並不是什麼好建議,特別是對於像設置編譯器進行交叉編譯那樣小的建議。 – rbaleksandar
您是在64位操作系統上編譯?試試:
sudo apt-get install ia32-libs
我在嘗試編譯Raspberry Pi內核時遇到了同樣的問題。我在Ubuntu 12.04 64位上交叉編譯,工具鏈要求ia32-libs在64位系統上工作。
見http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/
在ubuntu上,當我給出這個命令時,它會拋出錯誤 - 軟件包ia32-libs不可用,但被其他軟件包引用。 –
@MadhavanKumar嘗試這一個sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 –
它有點反直覺。該工具鏈被稱爲gcc-arm-linux-gnueabi。要調用的工具,執行以下命令:ARM-Linux的gnueabi-XXX
其中xxx爲GCC或AR或LD等
,如果你是在64位操作系統,那麼你需要安裝這個額外的庫。
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
在Debian 8上它似乎缺少第三個: 包lib32bz2-1。0不可用,但被另一個包引用。 這可能意味着包丟失,已過時,或 只能從其他來源 E:包「lib32bz2-1.0」沒有安裝候選人 – Will
了試圖穿越彙編VM下ubunto 03年4月14日的樹莓派內核時相同的錯誤。發現解決方案here:
- 在Ubuntu盒子上安裝用於交叉編譯的軟件包。
sudo apt-get install gcc-arm-linux-gnueabi make git-core ncurses-dev
- 下載工具鏈
cd ~
git clone https://github.com/raspberrypi/tools
- 添加工具鏈到你的路徑
PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
通知x64版本的路徑命令
固定,使用:
sudo apt-get install gcc-arm*
如果您使用的是64位版本的ubuntu或debian(請參閱「貓的/ proc /版本」),你只需要使用64位的交叉編譯器,如果你克隆
git clone https://github.com/raspberrypi/tools
那麼64位工具在
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64
使用該目錄爲GCC工具鏈。 編制一個有用的教程,我也跟着可以在這裏找到Building and compiling Raspberry PI Kernel(使用-x64路徑從上面的$ {} CCPREFIX)
對我來說,在Debian 8,這裏的操作說明: [ RPi內核](https://www.raspberrypi.org/documentation/linux/kernel/building.md) 儘管設置了PATH,但我必須將完整的PATH放入CROSS_COMPILE。所以我不得不這樣做: 'sudo make ARCH = arm CROSS_COMPILE =/home/will/kernel/mybuild/gcc-linaro-arm-linux-gnueabihf-raspbian -x64/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH = mnt/ext4 modules_install> makemodules6.txt' – Will
我也面臨着同樣的問題,安裝下面的依賴後,解決它:
sudo apt-get install lib32z1-dev
- 1. 未找到命令
- 2. 未找到命令
- 3. Sqoop導入:命令--password:命令未找到,--table:命令未找到
- 4. mac命令行命令未找到
- 5. Ubuntu:hadoop命令未找到
- 6. -bash命令未找到
- 7. ygcc:命令未找到
- 8. mysqldump:命令未找到XAMPP
- 9. 終端 - 命令未找到
- 10. AWS CodeDeploy命令未找到
- 11. nodemon命令未找到
- 12. 未找到命令Angular 2
- 13. zsh:命令未找到:mvim
- 14. CakePHP:-bash:cake:命令未找到
- 15. zsh gsed命令未找到
- 16. ride.py:未找到命令
- 17. 茉莉命令未找到
- 18. 未找到php命令
- 19. p4命令未找到
- 20. SLC命令未找到
- 21. make:pwd:未找到命令
- 22. Fastlane命令未找到
- 23. Openldap slapd命令未找到
- 24. 未找到Catkin命令
- 25. Lumen命令未找到
- 26. -bash:scala:命令未找到
- 27. 未找到PM2命令
- 28. 未找到bundle命令heroku
- 29. unicorn_rails:未找到命令
- 30. HTML2HAML命令未找到
如果您從源代碼安裝,則需要編譯源代碼並安裝bin。但是,如果您下載編譯的bin,您可以運行它。在使用apt來安裝它之後,可以提供更多信息。嘗試使用'sudo find/-name「* gcc-arm *」'來查找是否有某個bin –
apt-get install ia32-libs。您試圖在64位Linux安裝上運行32位二進制文件。在那裏,這樣做... –