跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

  1. 主页
  2. Open source | 开源
  3. xlings
  4. 让cenos7也能轻松用上gcc15和C++23的import std特性 - 故事从xlings开源项目的一个issues开始

让cenos7也能轻松用上gcc15和C++23的import std特性 - 故事从xlings开源项目的一个issues开始

已定时 已固定 已锁定 已移动 xlings
centoscentos7gccgcc15c++23开源问题解决记录xpkg包cmakexlings
1 帖子 1 发布者 23 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • SPeakS 离线
    SPeakS 离线
    SPeak d2learn-dev
    编写于 最后由 SPeak 编辑
    #1

    背景

    前段时间社区中xlings项目上有人提了一个关于centos7上 安装gcc15的但是不能使用的问题, 我一看原来是由于glibc的版本太老了导致的 (制作gcc15包的时候我也没考虑太多glibc版本依赖问题)

    于是我就折腾了几天给xlings工具增加了一个从源码构建gcc工具链的helper工具 musl-cross-make, 同时也提供了一个预构建的gcc15包, 让我们在centos7上可以用下面简单的方法就能安装gcc15或自己从源码构建gcc15. 最终效果如下:

    一键安装gcc15

    xlings install gcc@15
    

    自己在本地 一键从源码构建gcc15

    xlings install musl-cross-make #安装构建helper工具
    # 命令格式: musl-cross-make version [--output yourOutputDir] [--target yourTargetArch]
    musl-cross-make 15 --output mygcc-15
    
    • 原issues: https://github.com/d2learn/xlings/issues/107
    • xlings开源工具: https://xlings.d2learn.org

    下面是具体的问题解决过程, 以及 centos上 一键创建支持cpp23的cmake模板工程项目的使用示例&演示...

    一、问题和解决的过程

    Q1: GLIBC的版本依赖问题

    • https://github.com/d2learn/xlings/issues/107#issue-3300789666
    root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    /root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    /root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libc.so.6: version `GLIBC_2.29' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    tools/install.unix.sh:行65: xlings: 未找到命令
    

    A1: 使用musl静态构建解决libc的依赖问题 - 已解决

    4bd6a426-c93c-4733-9075-fad0bd686261-image.png

    Q2: xlings install gcc@15.1.0安装后工具链的使用问题

    • https://github.com/d2learn/xlings/issues/107#issuecomment-3167203522

    A2: 更新了gcc包(包括15.1.0)对centos的支持, 添加了可从源码构建包的选择及工具

    • gcc: 预先构建的二进制gcc工具链包
      • 安装命令示例: xlings install gcc@15
    • fromsource:musl-gcc: 从源码构建基于musl的gcc工具链的xpkg包
      • 安装命令示例: xlings install fromesource:musl-gcc@version
    • musl-cross-make: 可自定义的工具链构建helper工具
      • 安装命令示例: xlings install musl-cross-make
      • 使用命令示例: musl-cross-make version --output yourInstallDir, musl-cross-make 9.4 --output mygcc-9 构建后会安装到当前目录的mygcc-9下

    原来的gcc

    9dd8c255-77dc-47ff-b5b6-6c6345fd1ae4-image.png

    安装gcc15

    c1b573d2-6a4d-4150-ba6d-c4b57015f415-image.png

    2eae2930-e8ba-440c-9742-dcaf5ee84ab3-image.png

    二、xlings在centos上的一些使用示例 (gcc工具链 + cpp23 import std模块)

    会自动安装依赖(gcc15 / cmake4 ...) , 并配置好环境

    一键创建模板项目 + 自动安装依赖和配置环境

    2c595d41-d0ed-424f-ada7-93ef240a09a7-image.png

    构建&运行演示

    aee61b54-60b2-4a53-8060-9d14f1462269-image.png

    三、其他

    • 相关的issus: https://github.com/d2learn/xlings/issues/107
    • xlings工具文档: https://xlings.d2learn.org/documents/quick-start/one-click-install.html
    • xlings工具仓库: https://github.com/d2learn/xlings
    • 包索引仓库: https://github.com/d2learn/xim-pkgindex
    • xlings社区论坛交流版块: https://forum.d2learn.org/category/9/xlings
    1 条回复 最后回复
    1

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    d2learn forums Powered by NodeBB
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • Online Tools
    • 用户
    • 群组