1

我想从 C/C++ 源代码构建 MEX 函数以启用 MATLAB 脚本访问,但我当前版本的 Fedora 具有更新且不兼容的 GCC。我曾尝试删除已安装的 GCC 并使用 sudo dnf gcc-4.7.x (使用 x = [1, 2, 3, 4])安装 GCC 的 4.7.x 版本,但似乎这些版本都没有托管在Fedora 软件包存储库。

有没有其他方法可以在较新的 Fedora 版本上安装旧版本的 GCC?

4

2 回答 2

2

您必须下载 gcc 源代码,然后自己编译 gcc。Fedora 存储库是特定于发行版的。Fedora 早期版本的 gcc 不包含在 Fedora 的后续版本中。

虽然可以手动下载早期版本的 gcc,但由于版本冲突,rpm 不太可能同意安装它。有人可能会建议使用--force强制安装不兼容的 gcc 版本。唉,这样的建议很可能会导致无法启动的砖块。

所以唯一实用的答案是自己下载和构建 gcc;使用自定义配置将 gcc 安装到非默认位置,以避免覆盖系统安装的libstdc++. 这不是一项简单的任务,几年前我自己就完成了这项工作。

TL;DR:如果你不得不问这样的问题,那是不可能的。

于 2016-06-12T13:49:15.417 回答
2

1) 您可以同时安装任意多个版本的 gcc/g++。2) 删除系统编译器不是一个好主意。

Gcc-4.7 : 简单,从“Redhat devtoolset-1.1” http://linux.web.cern.ch/linux/devtoolset/安装[所需的包] → → #wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo

devtoolset-1.1 和 devtoolset-2 是为 RHEL6 创建的,所以我们必须为 devtoolset-(1.1) :compat-gmp-4.3.1-11.fc23.x86_64.rpmcompat-mpfr-2.4.1-7.fc23.x86_64.rpm.... 安装一些旧文件。链接:compat-gmp https://drive.google.com/file /d/0B7S255p3kFXNbTBSS21jdWlvRXM/view?usp=sharing - compat-mpfr https://drive.google.com/file/d/0B7S255p3kFXNOG8wYU1sY0lkQWc/view?usp=sharing

然后你可以从 devtoolset-1.1 (gcc-c++ and dependencies,,, gcc etc.) 安装 4 个包 #dnf install --nogpgcheck devtoolset-1.1-gcc-c++

启用 gcc-4.7 : $ scl enable devtoolset-1.1 bash... 并gcc -v会说“gcc version 4.7.2”(该设置在您退出终端之前有效。)


于 2016-06-12T16:06:14.783 回答