ubuntu下CUDA编译的GCC降级安装
来源:互联网 发布:网游推荐 知乎 编辑:程序博客网 时间:2024/05/13 10:48
文章出自于:http://blog.csdn.net/lenbow/article/details/51596706
[toc]
1、源码安装gcc
预安装重要依赖
如果直接安装GCC,可能会遇到以下问题:
Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
MPC :
下载 : http://www.multiprecision.org/mpc
解压:
$ tar xf mpc-0.9.tar.gz
GMP :
下载gmp-5.0.1.tar.bz2 : ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2
解压 :
$ bunzip2 gmp-5.0.1.tar.bz2
$ tar xf gmp-5.0.1.tar
MPFR :
下载mpfr-3.1.0.tar.gz : http://ftp.gnu.org/gnu/mpfr/
解压 :$ tar xf mpfr-3.1.0.tar.gz
开始安装 :
先开始安装GMP。解压GMP的压缩包后,得到源代码目录gmp-5.0.1。在该目录的同级目录下建立一个临时的编译目录,这里命名为temp。然后开始配置安装选项,进入temp目录,输入以下命令进行配置:
$ sudo ../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1$ sudo make$ sudo make install
mpfr和mpc的安装方法与gmp类似。不过要注意配置的时候要把gmp与mpfr的依赖关系选项加进去,具体配置命令如下:
$ sudo ../mpfr-3.1.0/configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1$...(同上)$sudo ../mpc-0.9/configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0$...(同上)
安装好这三个库之后,就可以正式开始安装gcc了。 但有可能出现“error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory”之类的错误。
以及提示错误:
”checking for suffix of object files… configure: error: in `…./x86_64-unknown-linux-gnu/libgcc’:
configure: error: cannot compute suffix of object files: cannot compile“
需要加入刚刚编译的3个lib到库路径中。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib
为了以后使用的时候不再设置,我们可以修改/etc/bashprofile或者/etc/profile。这里修改的是全局变量,对所有用户有效,修改~/.bashprofile 和~/.profile可以修改用户的全局变量。
下载安装GCC
- 下载gcc-4.6.4 : https://gcc.gnu.org/mirrors.html,链接中是各个gcc官方镜像入口,选一个认为速度比较好的镜像链接进入,各个版本的gcc文件保存在releases目录下。以gcc-4.6.4.tar.bz2为例子下载。
- 解压:
$ bunzip2 gcc-4.6.4.tar.bz2
$ tar xf gcc-4.6.4.tar
与gcc-4.6.4建立一个build目录,命名为temp,进入temp目录下,开始典型的configure,make,install三步曲安装,build命令需要加入gmp、mpfr以及mpc的安装路径,并将gcc安装后缀设置为“46”。
$ sudo ../gcc-4.6.4/configure --prefix=/usr/local/gcc-4.6 --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9 --program-suffix=46
接着执行make $ sudo make
可能会make失败,查看config.log文件
如果发现问题为 :
conftest.c:10: fatal error: ppl_c.h: No such file or directory
需要安装ppl还有cloog的库。这里有介绍-> 传送门
$ sudo apt-get install libppl-dev libppl-c4 libppl13$ sudo apt-get install libcloog-ppl-dev(注意:可能随着版本的升级而有变化)$ sudo make clean (清除下之前没成功编译的文件)$ sudo make (继续make)......
$ make check (可选)...$ make ...
以上make需要花费漫长的时间~将近一个小时,请耐心等待
建立链接
安装完成可以在/usr/bin目录下进行以下操作(gcc的执行目录):
$ ls -l gcc*lrwxrwxrwx 1 root root 7 Jun 7 10:59 gcc -> gcc-5-rwxr-xr-x 1 root root 578808 Oct 3 2015 gcc-4.6.4-rwxr-xr-x 1 root root 886968 Oct 17 2015 gcc-5#其中gcc链接到gcc-5,需要将它更改到gcc-4.6.4:$ sudo mv gcc gcc.bak$ sudo ln -s gcc-4.6.4 gcc
查看gcc版本号: $ gcc --version
如果显示
gcc (Ubuntu/Linaro 4.6.4-3ubuntu3) 4.6.4Copyright (C) 2012 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
说明gcc安装成功
我们在用同样的方法重新链接下g++,就能使用g++4.6.4了!
$ which g++ # 查找执行目录 #/usr/bin/g++$ ls -l /usr/bin/g++*lrwxrwxrwx 1 root root 7 Jun 7 11:01 g++ -> g++-5*-rwxr-xr-x 1 root root 578808 Oct 3 2015 g++-4.6.4*-rwxr-xr-x 1 root root 886968 Oct 17 2015 g++-5*$ sudo mv /usr/bin/g++ /usr/bin/g++.bak$ sudo ln -s /usr/bin/g++-4.6.4 /usr/bin/g++$ g++ -versiong++ (Ubuntu/Linaro 4.6.4-3ubuntu3) 4.6.4Copyright (C) 2012 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
说明g++安装成功
2、快速安装gcc的方法
$ sudo apt-get install gcc-4.7$ sudo apt-get install g++-4.7
如果想安装更低版本的gcc,g++。新版的apt源中可能没有,需要自己设置,本人用此方法在ubuntu15.10下安装成功,gcc版本为4.7.4,g++为4.7.2。并成功编译安装CUDA Toolkit 7.5
接下来的步骤如前述-建立链接-部分一致,方便快捷的安装方法
文章出自于:http://blog.csdn.net/lenbow/article/details/51596706
- ubuntu下CUDA编译的GCC降级安装
- Ubuntu下的gcc降级
- Ubuntu 编译android GCC降级
- ubuntu下gcc编译工具的安装
- ubuntu下的CUDA安装
- Ubuntu下cuda的安装
- Ubuntu下,将GCC降级到4.4
- ubuntu 16.04 LTS 降级安装gcc 4.8
- ubuntu下gcc安装及编译运行的过程
- ubuntu10.4系统下GCC降级安装
- Ubuntu下编译安装GCC-4.1.2
- ubuntu下安装CUDA
- Ubuntu下安装cuda
- ubuntu 12.04(gcc降级)编译android代码遇到"_FORTIFY_SOURCE"的解决方法
- ubuntu 12.04(gcc降级)编译android代码遇到"_FORTIFY_SOURCE"的解决方法
- ubuntu 12.04(gcc降级)编译android代码遇到"_FORTIFY_SOURCE"的解决方法
- gcc、g++ 的安装和降级
- ubuntu下带CUDA的OpenCV安装
- activity跳转造成空挡
- [注意]未做的题(树型DP)
- 基于mybatis 自定义标签分页的实现
- Python的进程、线程、协程
- 正则表达式matcher.group用法
- ubuntu下CUDA编译的GCC降级安装
- POI导出Excel强制换行
- 配置Samba文件共享服务器
- Android之ListView的使用(一)
- Excel -- 排序与排名
- 多线程---模拟多人通过山洞
- 【性能优化】Hive优化
- 没有磨砺过的锋芒是无知,撑得起你骄傲的只有实力
- 牛逼的正则表达式(1)---匹配语法