赞
踩
gcc官网:https://gcc.gnu.org/
gcc11安装资源:gcc11自动安装脚本及源码
因为官网镜像原因,下载速度贼慢做了一个整理,为了方便安装写了一个脚本,可以一并打包下载无脑安装。
脚本使用注意事项:
使用方法:
sudo su
sh installGcc11.sh
脚本:
#!/bin/sh tar -xvf gcc-11.1.0.tar.xz cd gcc-11.1.0 sed -i '35d' tt sed -i "35a base_url='http://mirror.linux-ia64.org/gnu/gcc/infrastructure/' " tt cd .. #不建议在源代码里进行编译和安装,所以退回上级文件夹 mkdir gcc11_build cd gcc11_build unset LIBRARY_PATH #重置环境变量 ../gcc-11.1.0/configure --disable-multilib make -j 8 #8是多线程数,可以根据电脑配置修改,如果是虚拟机建议不要开启多线程编译,本行请换成make。如果还是编不过,考虑增大swap空间,或增大虚拟机内存分配。编译时最好不要开启其他程序。 sudo make install #make install 的时候需要带上sudo是因为默认安装地址是/usr/local,需要权限。除非在make的时候选定不需要权限安装地址(不推荐) sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc 50 #使用update-alternatives命令配置增加最新版本编译器 sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 50 #下面是增加libstdc++链接 cd /usr/lib/x86_64-linux-gnu/ sudo cp libstdc++.so.6 libstdc++.so.6.backup sudo rm libstdc++.so.6 sudo cp /usr/local/lib64/libstdc++.so.6.0.29 libstdc++.so.6.0.29 sudo ln -s libstdc++.so.6.0.29 libstdc++.so.6
ls /usr/bin/gcc* #此步骤显示的内容是下一步配置的内容
ls /usr/bin/g++*
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 #使用update-alternatives命令配置原始编译器
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 60 #这两步相当于向系统编译器优先级注册,注册2个版本或以上数量,才能进行版本切换
sudo update-alternatives --config gcc #选择版本,进行切换
sudo update-alternatives --config g++
gcc -v #查看版本
g++ -v
同时版本切换也需要对libstdc++进行切换,目前我的是无法兼容的状态所以切换方法为
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
cd /usr/lib/x86_64-linux-gnu/
sudo rm libstdc++.so.6
sudo ln -s libstdc++.so.6.0.29 libstdc++.so.6
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
cd /usr/lib/x86_64-linux-gnu/
sudo rm libstdc++.so.6
sudo ln -s libstdc++.so.6.backup libstdc++.so.6
内容参考:https://blog.csdn.net/davidhopper/article/details/79681695
官网:https://gcc.gnu.org/
进入官网选择右侧下载的mirrors,binary没有ubuntu版本,需要从镜像下载源码进行编译,进入mirror选择Russia的镜像。然后在镜像站里面选择release文件夹,挑选自己需要的版本下载。
此处选择的是11.1.链接:gcc-11.1.0
tar -xvf gcc-11.1.0.tar.xz 或者 tar -xzvf gcc-11.1.0.tar.gz
#前者是xz压缩方式后者是gzip压缩方式
cd gcc-11.1.0
打开依赖包下载脚本文件:contrib/download_prerequisites
将该文件里的base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/'替换为:base_url=‘http://mirror.linux-ia64.org/gnu/gcc/infrastructure/’,即将不存在的服务器地址替换为镜像服务器地址。接下来,执行如下命令自动下载并解压依赖包:
bash contrib/download_prerequisites
如果此步骤失败,需要继续更换镜像服务器地址,或者搭个梯子(狗头),然后进入gcc源码文件夹中删除gmp-6.1.0.tar.bz2,mpfr-3.1.4.tar.bz2,mpc-1.0.3.tar.gz,isl-0.16.1.tar.bz2四个文件,然后重复执行bash这一步,直至出现”All prerequisites downloaded successfully“,表示成功了。
cd ..
mkdir gcc11_build
cd gcc11_build
unset LIBRARY_PATH #重置环境变量
../gcc-11.1.0/configure --disable-multilib
make -j 8
sudo make install
话说,手动make和makeinstall没有一个明确的安装成功的提示,除非是出现error或failed等明显出错的情况否则请继续下一步,如果下一步失败再返回上一步查找原因。
#update-alternatives --install <链接> <名称> <路径> <优先级>
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 50
# 查询本机已有GCC编译器情况
sudo update-alternatives --query gcc
# 查询本机已有G++编译器情况
sudo update-alternatives --query g++
如果是双系统的话,只要保证硬件空间和硬件内存足够大,即可,否则需要升级机器或者make -j 8 改成make试试。
如果是虚拟机,关注点有两个,硬存和内存
硬存扩展:
主要是两部:a.虚拟配置 b.安装gparted,并使用它进行分区
bash sudo apt-get install gparted
bash sudo gparted
然后按照步骤介绍,进行扩容即可。
内容参考:https://blog.csdn.net/daemon_2017/article/details/80660372
内存扩展:
a.增大交换空间(swap)【不推荐】
b.增加内存【有钱的话,非常推荐,再增大虚拟内存,就可以有更好的体验】
c.增加虚拟内存(在虚拟机上设置一下就行)【推荐】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。