arm-linux-gcc找不到命令,ubuntu 下搭建arm-linux-gcc 命令未找到问题
很郁悶,找了近一個下午,老是提示arm-linux-gcc找不到,但是確實是裝好了,其實是權限的問題,原帖如下:https://blog.sina.com.cn/s/blog_4670451c0100e1uw.html
ubuntu沒有root權限,剛開始用碰到很多麻煩,查了好多資料,終于把arm-linux-gcc: Command not found 的問題解決了。
問題:
sudo tar jxvf arm-linux-gcc.4.3.3.tar.bz2
export PATH=$PATH:/usr/local/arm/2.95.3/bin
#/usr/local/arm/2.95.3/bin此處為編譯器所在的位置
使用arm-linux-gcc?–v?檢查交叉編譯器安裝成功
tar jxvf kernel.tar.bz2
解壓之后生成kernel目錄
sudo make clean
sudo make menuconfig
sudo make zImage
提示錯誤:
arm-linux-gcc: Command not found
PATH里有/usr/local/arm/2.95.3/bin,?/usr/local/arm/2.95.3/bin/下有arm-linux-gcc文件,但是make的時候,就是找不到arm-linux-gcc
原因:
export PATH=$PATH:/usr/local/arm/2.95.3/bin
是設置當前用戶的PATH,而sudo執行make的時候,使用的是超級用戶權限,那也就使用了超級用戶的PATH(但是這個PATH里,并沒有/usr/local/arm/3.4.1/bin)
解決方法:
先打開一個超級用戶權限的shell:
sudo –s
在當前shell下,設置環境變量:
export PATH=$PATH:/usr/local/arm/2.95.3/bin
#關閉shell以后就不能使用,此時使用編輯 /etc/profile,在文件末端加上?export PATH=$PATH:/usr/local/arm/2.95.3/bin
再進入到kernel目錄,make zImage,就可以找到arm-linux-gcc了
2
今天下午,學到了友善mini2440用戶手冊的 第六章定制Linux 內核及制作文件系統, 在執行命令#make zImage 的時候,老是提示arm-linux-gcc找不到,但是確實是裝好了,其實是權限的問題,多虧了參考這篇博文,謝謝原作者:https://blog.sina.com.cn/s/blog_5ddb672b0100e38w.html
(以下內容,本人根據自己學習情況有修改)
我的問題如下:
1,進入linux-2.6.32.2這個目錄,從終端輸入命令:
cd ?/opt/FriendlyARM/mini2440/linux-2.6.32.2
2.執行以下命令來使用缺省配置文件 config_w35
sudo cp config_mini2440_w35 .config
(注意:w35 后面有個空格,然后有個“.”開頭的 config )
3.然后執行“sudo make menuconfig“,出現配置內核界面,并且這時不用做任何更改,在主菜單里選擇退出,這樣做是為了生成相應配置的頭文件。
4.輸入以下命令,開始編譯內核:
make zImage (有可能加sudo)
這時出現如下錯誤:
這時出現如下錯誤:
# make zImage
make: arm-linux-gcc:命令未找到
scripts/kconfig/conf -s arch/arm/Kconfig
make: arm-linux-gcc:命令未找到
CHK?????include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
CHK?????include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC??????kernel/bounds.s
/bin/sh: arm-linux-gcc: not found
make[1]: *** [kernel/bounds.s] 錯誤 127
make: *** [prepare0] 錯誤 2
即出現make: arm-linux-gcc:命令未找到的錯誤提示。
我開始檢查如下:
1,終端輸入gedit /etc/profile
在出現的配置文件中,可以看到環境變量(在最后一行)為
export PATH=$PATH:/usr/local/arm/4.4.3/bin
環境變量的設置沒錯。
2. 之前arm-linux-gcc.4.3.3的編譯器都安裝好了的,在終端輸入 arm-linux-gcc -v
arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
以上說明4.4.3的編譯器已經成功安裝好。
以上說明4.4.3的編譯器已經成功安裝好。
以上說明4.4.3的編譯器已經成功安裝好。
后來發現原因如下:
exportPATH=$PATH:/usr/local/arm/4.4.3/bin
是設置當前用戶的PATH,而sudo執行make的時候,使用的是超級用戶權限,那也就使用了超級用戶的PATH(但是這個PATH里,并沒有/usr/local/arm/4.4.3/bin)
解決方法:
1.先打開一個超級用戶權限的shell:
命令:sudo –s
2.在當前shell下,設置環境變量:
命令:gedit /etc/profile
在文件末端加上?export PATH=$PATH:/usr/local/arm/4.4.3/bin,并保存。
3. 執行source /etc/profile這是避免重新啟動ubuntu而又使剛剛修改的環境變量生效的方法。
再進入到/opt/FriendlyARM/mini2440/linux-2.6.32.2??目錄,執行make zImage(有可能加sudo),arm-linux-gcc了,可以編譯了
總結
以上是生活随笔為你收集整理的arm-linux-gcc找不到命令,ubuntu 下搭建arm-linux-gcc 命令未找到问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 充电桩动态管理系统java_一种充电桩管
- 下一篇: 【分享】Python逆函数计算——pyn