长期支持版本

    社区创新版本

      GCC 多版本支持用户指南

      简介

      为了保障操作系统的稳定性,一般在进行基础软件选型时不会选用最新的版本,而是倾向于使用相对稳定的版本,因此当前 openEuler 22.03 LTS 使用 GCC 10.3.1 作为基线进行开发。然而GCC 10.3.1 只能支持部分 Fortran OpenMP 4.5 规范和较少的 C/C++ OpenMP 5.0 语言规范。为了支持全部 Fortran OpenMP 4.5 规范,设计双版本 GCC,对于需要使用 GCC 10.3.1 不支持的 OpenMP 4.5 规范的应用,可以使用多版本编译器 gcc-12 来支持编译构建。

      安装与部署

      软件要求

      操作系统:openEuler 22.03 LTS SP3

      硬件要求

      aarch64 架构

      安装软件

      为了和默认 GCC 安装做出区分,防止多版本 GCC 的安装和默认 GCC 的安装依赖库冲突,gcc-12 的多版本软件包名以 “gcc-toolset-12-” 为前缀,后面接上原有 GCC 软件包名。

      默认编译器 gcc-10.3.1,安装路径为 /usr/

      yum install -y gcc gcc-c++ gcc-gfortran
      

      多版本编译器 gcc-12,安装路径为/opt/openEuler/gcc-toolset-12/root/usr/

      yum install -y gcc-toolset-12-gcc*
      

      使用方法

      gcc-12 多版本编译器软件包安装在/opt/openEuler/gcc-toolset-12/root/usr/下,因此可使用如下命令使用软件包:

      export PATH=/opt/openEuler/gcc-toolset-12/root/usr/bin/:$PATH
      export LD_LIBRARY_PATH=/opt/openEuler/gcc-toolset-12/root/usr/lib64/:$LD_LIBRARY_PATH
      

      注意:多版本编译器 gcc-12 仅用于支持 GCC 10.3.1 不支持的 OpenMP 4.5 规范,其他特性建议使用默认 gcc-10.3.1 防止发生未知编译错误。

      兼容性说明

      此节主要列出当前一些特殊场景下的兼容性问题。本项目持续迭代中,会尽快进行修复,也欢迎广大开发者加入。

      • 当前 GCC 多版本方案仅适配 OpenMP 4.5 语言规范场景。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份