为 ubuntu-22.04 编译 gcc 7.4 失败

为 ubuntu-22.04 编译 gcc 7.4 失败

我尝试为我的 ubuntu-22.04 编译 gcc 7.4,以便我可以将 glmnet 用于我的 R 包。我尝试了互联网上的所有方法,但都没有用。我遇到的错误是:

#Error1 sanitizer_platform_limits_posix.lo] 错误 1

#Error2 所有目标 libsanitizer

  1. 在大多数情况下,互联网要求我 sudo apt-get g++ 7. 等等,但没有资源可以下载,也没有支持。

  2. 我尝试了 Linux 专家,他要求我使用以下选项进行编译:sudo ./configure --prefix=/home/software/GlobalModulesInstall/compilers/gcc/$version --enable-languages=c,c++ --disable-multilib --disable-libsanitizer --disable-libcilkrts

它不起作用并且编译失败

  1. 有一个链接讨论了这个问题,并声称这个错误在更高版本中已修复,但我需要的正是 gcc 7.4

  2. 我尝试独立安装 lib 包,但没有成功,没有工作。

  3. gcc 9.4 编译成功,可以使用,我用 gcc 9.4 编译 7.4,不行,现在在编译 4.8,希望可以编译 7.4

我基本上已经没有任何主意了,然后我开始想,嘿,因为我安装了环境模块,这个模块说的是“可移植”和环境无关的事情。所以我尝试了这种无意义的方法。我有一台单独的机器运行安装了环境模块的 Red Hat 7,所以我只需在这台机器上的某个文件夹中编译并安装这个 gcc 7.4。然后我只需将这个安装的 gcc 7.4 及其模块文件从我的 rehl 7 机器复制到 ubuntu 机器,然后使用环境模块,它就能以某种方式工作。现在我可以从 R 使用 glmnet 了。

所以我问有谁可以让该死的 gcc 7.4 编译在这个 ubuntu 22.04 中工作

我目前的无意义的工作满足了我的需求,但可能会成为未来的问题。

因此,如果有人迫切需要在 ubuntu 22.04 上运行 gcc 7.4,可以参考我的不合逻辑的方法:

  1. 在单独的装有 REHL7 的机器上,在环境模块下编译并安装 7.4
  2. 将安装的 7.4 及其模块文件复制粘贴到 ubuntu。
  3. 在 ubuntu 中加载 7.4 环境,一切突然开始正常工作。

更新:无法编译 gcc 4.8.2,开始怀疑 Ubuntu 对较低版本的 gcc 支持不佳

更新:我尝试用这个 7.4 编译,但没有成功,但 R glmnet 确实接受这个 gcc 7.4,所以包 mv 只是一个解决方法,gcc 7.4 在 ubuntu 中无法运行。我尝试编译其他 gcc,比如 9.4,成功了。有人能帮我在环境模块中编译 7.4 吗?

答案1

我只是想知道,既然有一个非常好的存储库,您为什么要尝试编译 gcc?就我个人而言,我会从以下开始:

sudo apt-get install gcc make cmake build-essential 

相关内容