GCC降级

7 篇文章 0 订阅

预准备

安装Cuda, GPU驱动前, 请对照https://docs.nvidia.com/cuda/archive/10.1/cuda-installation-guide-linux/index.html中的要求检查是否满足系统环境要求, 不满足则需要降级.
在这里插入图片描述
下文描述如何对GCC进行降级.

安装包下载与安装

请严格按照顺序进行下载与安装
m4–>gmp–>mpfr—>mpc–>gcc
进入https://mirrors.ustc.edu.cn/gnu/查找对应版本的包(五个包均可在此网站找到)
随后使用wget 链接命令在Ubuntu主机上下载即可

m4

gunzip m4-1.4.16.tar.gz
tar -xvf m4-1.4.16.tar
cd m4-1.4.16/
./configure
make
sudo make install

gmp

tar -Jxvf gmp-6.1.2.tar.xz
mkdir temp #在与gmp-6.1.2同级别的目录下建一个新文件夹,叫temp(自己命名)
cd temp
../gmp-6.1.2/configure –prefix=/usr/local/gmp-6.1.2       ------------#这句是说,安装路径是/usr/local/,名字叫gmp-6.1.2;
make
sudo make install
#安装好后,可以查看/usr/local/gmp-6.1.2目录下有三个文件夹

mpfr

unzip mpfr-3.1.3.zip
新建一个新的文件夹并进入
../mpfr-3.1.3/configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.1.2
         # prefix是安装路径,with是依赖的gmp库
make
sudo make install

mpc

tar -zxvf mpc-1.0.3.tar.gz
新建一个新的文件夹并进入
../mpc-1.0.3/configure –prefix=/usr/local/mpc-1.0.3 –with-gmp=/usr/local/gmp-6.1.2 –with-mpfr=/usr/local/mpfr-3.1.3
make
sudo make install

gcc

tar -zxvf gcc-5.4.0.tar.gz
新建一个新的文件夹并进入
../gcc-5.4.0/configure --prefix=/usr/local/gcc-5.4 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3
make
sudo make install

注意, 此时可能报错:

  • error: dereferencing pointer to incomplete type ‘struct ucontext’

    • 出现这个问题的话,就找到 make_folder/libgcc/config/i386/linux_unwind.h文件,将struct ucontext *uc_ = context->cfa; 改为 struct ucontext_t *uc_ = context->cfa;
  • aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined

    struct sigaltstack handler_stack;

    • 出现这个问题的话,就到https://reviews.llvm.org/D35246,改动相应代码(在页面底部). 网站上的路径可能跟实际不一样, 反正就在那些文件夹里, 可以查找对应文件…
  • 还可能报一个跟"SIGSEGV"相关的错误

    • 出现此错误请进入报错的文件, 添加如下引用
    #include <signal.h>
    #include <setjmp.h>
    #include <stdarg.h>
    #include <stdlib.h>
    

添加环境变量

sudo ln -s /usr/local/gcc-5.4/bin/gcc /usr/local/bin/gcc54
sudo ln -s /usr/local/gcc-5.4/bin/g++ /usr/local/bin/g++54

并在etc/profile文件中添加:

export  LD_LIBRARY_PATH=/usr/local/gcc-5.4/lib:/usr/local/gcc-5.4/lib64:$LD_LIBRARY_PATH
cd /usr/bin
sudo rm gcc
sudo rm g++
sudo ln -s /usr/local/gcc-5.4/bin/gcc gcc
sudo ln -s /usr/local/gcc-5.4/bin/g++ g++

重启

验证

gcc --version
g++ --version
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值