在sudo下make:arm-linux-gnueabihf-gcc:command not found 问题解决

在sudo下make:arm-linux-gnueabihf-gcc:command not found 问题解决

解决思路

在Ubuntu下,用户编译源码配置时,sudo ./xxx.sh,运行后出现了问题:
sudo: arm-linux-gnueabihf-gcc: command not found

在Terminal中检查,发现arm-linux-gnueabihf-gcc可以在系统的PATH中找到,那为什么还提示说找不到arm-linux-gnueabihf-gcc呢?

arm-linux-gnueabihf-gcc -v

原因如下:

1.我添加arm交叉编译器目录到PATH中是放在**/etc/profile**里的,这是用户的配置文件,我的用户为xxx。

2.执行**./xxx.sh时,加了sudo**,变成了root的工作环境和root的权限。

根据以上两点,./xxx.sh是在root下做的,而arm-linux-gnueabihf-gcc在用户的工作环境中才能找到。所以产生了错误。

那我既要取得root权限,又要具有当前用户的工作环境,怎么处理呢?

方法如下:

执行**./xxx.sh之前,先用sudo -i命令取得root权限。然后再执行./xxx.sh**。

susudo 的区别:

1.共同点:都是root用户的权限;

2.不同点:su仅仅取得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全取得root的权限和root的工作环境。

注意:
1.sudo su切换到root时原用户的环境变量也一并丢失。应使用sudo -i

2.make和make install 也一样

原文链接:https://blog.csdn.net/weixin_47715886/article/details/108963986

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值