OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5275|回复: 5

在使用命令“./imx_alientek_emmc.sh”编译linux内核出现“arm-linux-gnueabihf-gcc: Command not found”问题的解决方法

[复制链接]

30

主题

155

帖子

0

精华

高级会员

Rank: 4

积分
768
金钱
768
注册时间
2012-6-14
在线时间
204 小时
发表于 2019-12-10 23:24:09 | 显示全部楼层 |阅读模式
之前在看第三大章节中使用./imx6ull_alientek_emmc.sh命令编译内核文件的时候,出现问题。
./imx6ull_alientek_emmc.sh文件内容如下:
  1.   1 #!/bin/sh
  2.   2
  3.   4 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
  4.   5 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
  5.   6 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
  6.   7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
复制代码
基本上算是造草左大神的代码,但是出现了如下的错误:
  1. make: arm-linux-gnueabihf-gcc: Command not found
  2. ./scripts/gcc-version.sh: 行 25: arm-linux-gnueabihf-gcc: 未找到命令
  3. ./scripts/gcc-version.sh: 行 26: arm-linux-gnueabihf-gcc: 未找到命令
  4. ./scripts/gcc-version.sh: 行 25: arm-linux-gnueabihf-gcc: 未找到命令
  5. ./scripts/gcc-version.sh: 行 26: arm-linux-gnueabihf-gcc: 未找到命令
  6.   CLEAN   scripts/basic
  7.   CLEAN   scripts/kconfig
  8.   CLEAN   include/config include/generated arch/arm/include/generated
  9.   CLEAN   .config .config.old
  10.   HOSTCC  scripts/basic/fixdep
  11.   HOSTCC  scripts/kconfig/conf.o
  12.   SHIPPED scripts/kconfig/zconf.tab.c
  13.   SHIPPED scripts/kconfig/zconf.lex.c
  14.   SHIPPED scripts/kconfig/zconf.hash.c
  15.   HOSTCC  scripts/kconfig/zconf.tab.o
  16.   HOSTLD  scripts/kconfig/conf
复制代码
显示的居然是arm-linux-gnueabihf-gcc编译器未找到,但是昨天使用的时候是正常的,然后百度了之后,发现网上有人说是因为权限的问题,然后就按照网上切换了权限,还是么成,但是在root用户下却是可以的。
然后就在imx6ull_alientek_emmc.sh中添加了:
  1.   1 #!/bin/sh
  2.   2
  3.   3 export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
  4.   4 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
  5.   5 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
  6.   6 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
  7.   7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
复制代码
就是将arm-linux-gnueabihf-gcc的环境地址存放到了编译环境中,然后再使用./imx6ull_alientek_emmc.sh,编译通过。



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2019-11-30
在线时间
13 小时
发表于 2019-12-24 12:29:19 | 显示全部楼层
我也遇到一样的问题,变更root用户,真的解决了,感谢。
回复 支持 反对

使用道具 举报

3

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
246
金钱
246
注册时间
2013-10-18
在线时间
30 小时
发表于 2020-3-5 19:46:29 | 显示全部楼层
我在一台电脑编译的内核包,板子上已经跑过使用了,打包拷贝到另一台电脑也是出现找不到编译器的问题。关键是arm-linux-gnueabihf-gcc -v  验证都没有问题。郁闷坏了。root权限也不行,sudo命令也不行。正如此贴说明 在sh脚本文件中添加编译器路径,使用root权限编译通过,普通管理员不加sudo编译还是不行,需要加sudo操作。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2019-4-24
在线时间
9 小时
发表于 2020-4-22 00:17:45 | 显示全部楼层
还有一种可能是,文件路径太深了,文件放在两三层路径下,正常编译就好了
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2019-7-3
在线时间
43 小时
发表于 2020-4-22 18:29:37 | 显示全部楼层
是不是切换过shell的原因,root用户的shell下有交叉编译器的环境变量,普通用户的shell没有
回复 支持 反对

使用道具 举报

18

主题

107

帖子

1

精华

高级会员

Rank: 4

积分
570
金钱
570
注册时间
2013-11-28
在线时间
51 小时
发表于 2020-4-23 02:15:08 | 显示全部楼层
在/etc/profile中最后一行添加“交叉编译环境的路径”即:export PATH=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/binPATH
执行source /etc/profile 使更改起作用。
有时在使用了sudo -s后,env中的路径PATH变量里又没有了"/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin",这个需要注意
学习只为了路程走得更远....!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表