OpenEdv-开源电子网

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

求助:ubuntu24.04安装linaro 4.9版本之后 环境变量配置后查询版本不对

[复制链接]

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-11-10
在线时间
15 小时
发表于 2026-4-28 11:05:44 | 显示全部楼层 |阅读模式
1金钱
求助: ubuntu24.04 安装交叉编译器linaro 4.9.4版本, 环境变量配置完成之后,通过arm-linux-gnueabihf-gcc -v  查询版本,最后一行没有出现gcc version 4.9.4 (linaro GCC 4.9.4)的字样,而是gcc version 13.3.0

路径和过程完全安装左盟主的视频一步步做,区别就是ubuntu版本不同,

请教怎么解决

最佳答案

查看完整内容[请看2#楼]

根据你的描述,在Ubuntu 24.04上安装Linaro GCC 4.9.4后,arm-linux-gnueabihf-gcc -v显示的版本是13.3.0而非预期的4.9.4,这可能是由于系统默认安装了其他版本的交叉编译器或环境变量配置冲突导致的。以下是详细的排查和解决步骤: 1. 检查交叉编译器的实际安装路径 执行以下命令查看当前使用的交叉编译器路径: which arm-linux-gnueabihf-gcc 如果输出路径不是您安装的gcc-linaro-4.9.4目录(例 ...
回复

使用道具 举报

0

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2026-1-29
在线时间
20 小时
发表于 2026-4-28 11:05:45 | 显示全部楼层
根据你的描述,在Ubuntu 24.04上安装Linaro GCC 4.9.4后,arm-linux-gnueabihf-gcc -v显示的版本是13.3.0而非预期的4.9.4,这可能是由于系统默认安装了其他版本的交叉编译器或环境变量配置冲突导致的。以下是详细的排查和解决步骤:

1. 检查交叉编译器的实际安装路径
执行以下命令查看当前使用的交叉编译器路径:
            
which arm-linux-gnueabihf-gcc

      
如果输出路径不是您安装的gcc-linaro-4.9.4目录(例如 /usr/bin/arm-linux-gnueabihf-gcc),说明系统调用了其他预装的版本。

典型冲突场景:

Ubuntu 24.04可能默认安装了更高版本的交叉编译器(如通过apt install gcc-arm-linux-gnueabihf),其优先级高于手动安装的Linaro版本。
2. 调整环境变量优先级
修改~/.bashrc或/etc/profile:
确保手动安装的Linaro路径在环境变量中位于系统路径之前。例如     
        
export PATH=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/binPATH

      
注意此处的顺序,需将自定义路径添加到$PATH的开头。

生效配置:

      

        

source ~/.bashrc  # 如果配置在~/.bashrc中
# 或
source /etc/profile  # 如果配置在/etc/profile中

      
3. 卸载系统预装的交叉编译器(可选)
如果不需要系统自带的交叉编译器,可通过以下命令卸载:
      

        

sudo apt remove gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
sudo apt autoremove

      
4. 验证安装的正确性
再次运行版本检查命令:
      

        

arm-linux-gnueabihf-gcc -v

      
应显示如下内容:
     
using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
Target: arm-linux-gnueabihf
Configured with: ...
Thread model: posix
gcc version 4.9.4 (Linaro GCC 4.9-2017.01)

      
5. 替代方案:使用完整路径调用编译器
如果仍需保留系统版本,可通过直接指定绝对路径来强制使用Linaro版本:
            
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -v

      
总之,该问题通常是由于环境变量中存在多个交叉编译器路径且优先级错误导致的。通过调整PATH变量顺序或卸载冲突的系统版本即可解决。若仍有异常,建议彻底清理后重新安装Linaro工具链。
回复

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-11-10
在线时间
15 小时
 楼主| 发表于 2026-4-28 16:53:54 | 显示全部楼层
664929323 发表于 2026-4-28 15:19
根据你的描述,在Ubuntu 24.04上安装Linaro GCC 4.9.4后,arm-linux-gnueabihf-gcc -v显示的版本是13.3.0而 ...

感谢回复,确实是不是我安装的路径,我按照您的思路修改一下试试!
回复

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2020-11-10
在线时间
15 小时
 楼主| 发表于 2026-4-29 09:11:20 | 显示全部楼层
664929323 发表于 2026-4-28 11:05
根据你的描述,在Ubuntu 24.04上安装Linaro GCC 4.9.4后,arm-linux-gnueabihf-gcc -v显示的版本是13.3.0而 ...

卸载了自带的交叉编译器之后,arm-linux-gnueabihf-gcc -v 不可用,需要安装包  但是在profile文件里,原来的写法是  export PATH=$PATH:/usr/local/arm....../bin   版本不是4.9,但是改成  export PATH=/usr/local/arm....../binPATH  就能识别正确了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

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

GMT+8, 2026-5-7 06:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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