如何在Fedora上安装旧版本的gcc

时间:2019-11-14 14:26:54

标签: python-3.x linux gcc pytorch

我尝试在fedora 31上安装CUDA,但由于在CUDA正式支持fedora 29(gcc 8.2)的情况下陷入了最后一步,而fedora 31附带的版本是9.2,因此我安装了带有cuda支持且毫无意外的pytorch,不提供CUDA支持

>>> import torch
>>> device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
>>> device
device(type='cpu')

然后,我尝试在pkgs上搜索gcc,g ++和gfortran,但陷入了依赖地狱,诸如:

sudo dnf install gcc-8.2.1-2.fc29.x86_64.rpm gcc-gfortran-8.2.1-2.fc29.x86_64.rpm gcc-c++-8.2.1-2.fc29.x86_64.rpm -y

Error: 
 Problem 1: conflicting requests
  - nothing provides cpp = 8.2.1-2.fc29 needed by gcc-8.2.1-2.fc29.x86_64
  - nothing provides libgomp = 8.2.1-2.fc29 needed by gcc-8.2.1-2.fc29.x86_64
 Problem 2: conflicting requests
  - nothing provides libgfortran = 8.2.1-2.fc29 needed by gcc-gfortran-8.2.1-2.fc29.x86_64
  - nothing provides libquadmath = 8.2.1-2.fc29 needed by gcc-gfortran-8.2.1-2.fc29.x86_64
  - nothing provides libquadmath-devel = 8.2.1-2.fc29 needed by gcc-gfortran-8.2.1-2.fc29.x86_64
 Problem 3: conflicting requests
  - nothing provides libstdc++ = 8.2.1-2.fc29 needed by gcc-c++-8.2.1-2.fc29.x86_64
  - nothing provides libstdc++-devel = 8.2.1-2.fc29 needed by gcc-c++-8.2.1-2.fc29.x86_64

我在this post上找到了很多有用的链接,但不幸的是最新版本是gcc 7.3 我的最后一个选择是从源代码构建,但是除此之外,还有其他选择吗?我不确定我的计算机能否在相当长的时间内处理该编译。

2 个答案:

答案 0 :(得分:1)

构建gcc-8.2.0

# dnf install gcc-c++ flex bison binutils-devel elfutils-devel elfutils-libelf-devel
tar xvf gcc-8.2.0.tar.xz 
cd gcc-8.2.0/
tar xvf mpfr-4.0.2.tar.xz && mv -v mpfr-4.0.2 mpfr
tar xvf gmp-6.1.2.tar.xz && mv -v gmp-6.1.2 gmp
tar xvf mpc-1.1.0.tar.gz && mv -v mpc-1.1.0 mpc
cd ../
mkdir build-gcc820
cd build-gcc820/
../gcc-8.2.0/configure --prefix=/usr/local/gcc82 --program-suffix=82 --enable-languages=c,c++,fortran --disable-multilib --disable-libstdcxx-pch
make 
# make install

结果:gcc82-c++-8.2.0-2.fc29.x86_64.rpm https://drive.google.com/file/d/1qGPvF9jc6CiI1a0-c3I4Zj4vxajEwSzc/view?usp=sharing 提供/usr/bin/{gcc82, g++82, gfortran82}

安装:# dnf install Downloads/gcc82-c++-8.2.0-2.fc29.x86_64.rpm

答案 1 :(得分:0)

离线安装GCC4.4.4

如何使用RMP软件包替换新版本来安装GCC4.4.4或GCC444?

  • GCC444 RMP的依赖性和输入文件的顺序。
  • 然后:
sudo rpm -ivh --force gcc-4.4.4-2.fc13.x86_64.rpm gmp-4.3.1-6.fc13.x86_64.rpm gmp-devel-4.3.1-6.fc13.x86_64.rpm gcc-c++-4.4.4-2.fc13.x86_64.rpm cloog-ppl-0.15.7-1.fc12.x86_64.rpm cpp-4.4.4-2.fc13.x86_64.rpm glibc-2.12-1.x86_64.rpm glibc-common-2.12-1.x86_64.rpm glibc-devel-2.12-1.x86_64.rpmglibc-headers-2.12-1.x86_64.rpm kernel-headers-2.6.33.3-85.fc13.x86_64.rpm libgcc-4.4.4-2.fc13.x86_64.rpm libstdc++-4.4.4-2.fc13.x86_64.rpm libstdc++-devel-4.4.4-2.fc13.x86_64.rpm libgomp-4.4.4-2.fc13.x86_64.rpm mpfr-2.4.2-1.fc13.x86_64.rpm ppl-0.10.2-10.fc12.x86_64.rpm

您应该具有以下输出:

    warning: gcc-4.4.4-2.fc13.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID e8e                40fde: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:libgcc-4.4.4-2.fc13              ################################# [  6%]
       2:glibc-common-2.12-1              ################################# [ 12%]
       3:glibc-2.12-1                     warning: /etc/localtime created as /etc/lo                caltime.rpmnew
    warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
    ################################# [ 18%]
       4:libstdc++-4.4.4-2.fc13           ################################# [ 24%]
       5:gmp-4.3.1-6.fc13                 ################################# [ 29%]
       6:mpfr-2.4.2-1.fc13                ################################# [ 35%]
       7:cpp-4.4.4-2.fc13                 ################################# [ 41%]
       8:ppl-0.10.2-10.fc12               ################################# [ 47%]
       9:cloog-ppl-0.15.7-1.fc12          ################################# [ 53%]
      10:libstdc++-devel-4.4.4-2.fc13     ################################# [ 59%]
      11:libgomp-4.4.4-2.fc13             ################################# [ 65%]
      12:kernel-headers-2.6.33.3-85.fc13  ################################# [ 71%]
      13:glibc-headers-2.12-1             ################################# [ 76%]
      14:glibc-devel-2.12-1               ################################# [ 82%]
      15:gcc-4.4.4-2.fc13                 ################################# [ 88%]
      16:gcc-c++-4.4.4-2.fc13             ################################# [ 94%]
      17:gmp-devel-4.3.1-6.fc13           ################################# [100%]

您可以断言您具有以下期望:

gcc --version

给出:

    gcc (GCC) 4.4.4 20100503 (Red Hat 4.4.4-2)
    Copyright (C) 2010 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.