彭勇的个人博客分享 http://blog.sciencenet.cn/u/bigdataage Only Focus on Complex Systems Science & Data Science in Life Science.

博文

Linux操作系统中编译安装GCC详解以及需要注意的问题

已有 26260 次阅读 2013-6-13 21:20 |系统分类:科研笔记| Linux, 操作系统

Linux操作系统中编译安装GCC详解以及需要注意的问题


虽然用yum install xxx (RedHat、CentOS、Fedora系列的Linux) 或 apt-get install xxx   (Debian、Ubuntu、Mint系列的Linux)可以很轻松地装上各种语言的编译器 (gcc, g++/gcc-c++, gfortran/gcc-gfortran, gccgo, etc.)。但是,这样不能安装指定版本的GCC编译器, 而下载相应版本的GCC源码包,再编译安装,就可以解决这个问题。我都喜欢用最新版的,所以选择了编译安装,在Debian 7.0 (32bit)下安装GCC 4.8.1, 折腾了半天,终于搞定了,期间Google/Baidu了很多次。

(PS:用GCC 4.8.1可以体验C11和C++11 新标准中的特性。)



步骤如下:

0  打开Debian Linux的终端,切换为root用户,从而拥有了root权限,可以装软件了。
  只要含有"install"的命令都需要root权限。

1  准备工作:
  1.1  由于是编译安装,所以要有可用的编译器,否则无法编译。
       安装GCC中的C语言和C++语言的编译器:
       apt-get install gcc
       apt-get install g++
       apt-get install build-essential (其实不用装这个了,上面两句就行了)
       apt-get install make (没装这个的必须装上)

  1.2  编译安装GCC需要GMP、MPFR、MPC这三个库:
       到各自官网下载,解压,进入解压后的目录,安装命令见INSTALL或者ReadMe文件,
       其实就是这4个安装命令:
       ./configure  (可以指定安装目录)
       make
       make check
       make install
       注意3个库的安装顺序,由于依赖关系,必须最后安装MPC。

  1.3  上面装的3个库,GCC找不到,需要设置变量 LD_LIBRARY_PATH
       export LD_LIBRARY_PATH=/usr/local/lib   (在终端里运行这行命令, 下次开机失效)
       或更改~/.profile文件,在文件的最后加上一行:
       export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib (需先注销,永久有效)


 1.4  还要安装zip:
      apt-get install zip
 

2  编译安装最新版的GCC
   先下载, Google it, 去官网下载。
   创建一个目录,用于放置安装好了的GCC,比如目录"/usr/local/gcc-4.8.1"
   解压GCC源码包,假如解压到了这个路径下"/home/yp/gcc-4.8.1"
 
   mkdir  /usr/local/gcc-4.8.1   (已经先切换为了root用户)
   cd  /usr/local/gcc-4.8.1
   pwd    (显示当前目录,看对不对,是不是目录/usr/local/gcc-4.8.1)

  /home/yp/gcc-4.8.1/configure --prefix=/usr/local/gcc-4.8.1/    (配置)
  make
  make install

  期间若遇到其它问题,请Google/Baidu

3  建立软链接
  ln -s  /usr/local/gcc-4.8.1/bin/gcc    /usr/bin/gcc48
  ln -s  /usr/local/gcc-4.8.1/bin/g++   /usr/bin/g++48
  ln -s  /usr/local/gcc-4.8.1/bin/gfortran   /usr/bin/gfortran48
   

这样原来的GCC任然可以用,新安装的被叫做了gcc48
假设分别有C, C++, Fortran, Go程序各一个,
名字依次为a1.c, a2.cpp, a3.f, a4.go
若用原来的GCC编译:
gcc a1.c  -o a1
g++ a2.cpp  -o a2
gfortran a3.f  -o a3
gccgo a4.go  -o a4

若用新安装的GCC编译:
gcc48 a1.c  -o a1
g++48 a2.cpp  -o a2
gfortran48  a3.f  -o a3

GCC还包括其他语言的编译器,安装也很方便, 全部包括:
C, C++, Objective-C, Fortran, Java, Ada, and Go,

as well as libraries for these languages (libstdc++, libgcj,...)
详见http://gcc.gnu.org/

 
安装命令比如:
apt-get install gobjc  (Objective-C,先切换为root用户)  
apt-get install gcj    (Java)
apt-get install gnat   (Ada)
apt-get install gccgo  (Go)
 
 
RedHat、CentOS、Fedora系列的Linux安装GCC的详细过程请见:
http://www.cnblogs.com/chuncn/archive/2010/10/15/1851853.html

 
       



https://blog.sciencenet.cn/blog-830496-699204.html

上一篇:激活Debian 7 的桌面(显示图标,解决右击没反应)
下一篇:发育系统生物学之Nature Methods上的一篇论文
收藏 IP: 202.207.14.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-13 15:44

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部