【Linux】-NO.86.Linux.6.C.1.001-【CentOS 7 Install GCC】-

1.0.0 Summary

Tittle:【Linux】-NO.86.Linux.6.C.1.001-【CentOS 7 Install GCC】-

Style:Java

Series:Log4j

Since:2017-04-24

End:2017-05-07

Total Hours:30+

Degree Of Diffculty:5

Degree Of Mastery:5

Practical Level:5

Desired Goal:5

Archieve Goal:3

Gerneral Evaluation:3

Writer:kingdelee

Related Links:

http://www.cnblogs.com/kingdelee/

 http://blog.csdn.net/hanzheng260561728/article/details/75125891

http://www.linuxidc.com/Linux/2017-12/149506.htm

https://www.cnblogs.com/davygeek/p/8018628.html

http://www.linuxidc.com/Linux/2017-12/149506.htm

http://www.codeweblog.com/%E7%AC%94%E8%AE%B0-centos%E4%B8%8A%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85gcc-4-8-2/

1.Question

tar (child): lbzip2: Cannot exec: No such file or directory 
tar (child): Error is not recoverable: exiting now 
tar: Child returned status 2 
tar: Error is not recoverable: exiting now

2.Dispose

yum -y install bzip2

If have no web:

tar zxvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6/
#为编译做准备,创建libbz2.so动态链接库(这一步很重要,安装python的时候如果没有这一步,python安装不上bz2模块):
make -f Makefile-libbz2_so
make && make install

  

  

3. GCC安装报错,需要以下几个组件  

 https://gcc.gnu.org/gcc-7/

http://mirrors.concertpass.com/gcc/releases/gcc-7.3.0/

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

  

3.1 安装 GMP

https://gmplib.org/

https://gmplib.org/download/gmp/gmp-6.1.2.tar.lz

因为上面是lz的,所以还要下载安装lz解压工具

http://ftp.yzu.edu.tw/nongnu/lzip/lzip-1.19.tar.gz

然后安装(下同)

./configure

make

make install

  

安装gmp:
./configure

报 m4未安装:
checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).

解决 安装m4:
http://ftp.gnu.org/gnu/m4/
http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz

对m4
./configure
make 
make install

对 gmp:
./configure

终于成功,继续 make;

make install

 3.2  安装 MPFR

http://www.mpfr.org/mpfr-current/#download

http://www.mpfr.org/mpfr-current/mpfr-4.0.0.tar.gz

 安装(cmm下同: ./configure;make;make install)

 3.3 安装 MPC

http://ftp.gnu.org/gnu/mpc/

http://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz

cmm

3.3 安装 isl

checking for isl 0.15 or later... no
required isl version is 0.15 or later
The following languages will be built: c,c++,fortran,lto,objc
*** This configuration is not supported in the following subdirectories:
     gnattools gotools target-libada target-libhsail-rt target-libgo target-libffi target-liboffloadmic
    (Any other directories should still work fine.)
checking for default BUILD_CONFIG... bootstrap-debug
checking for --enable-vtable-verify... no
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.

  

 ftp://gcc.gnu.org/pub/gcc/infrastructure/

ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2

tar -xjf isl-0.18.tar.bz2

CMM

4.重回安装 GCC

在/home/lee/download/gcc-7.3.0新建一个build,在此目录下执行:

../configure --prefix=/usr/local/gcc-7.3.0 --enable-checking=release --enable-languages=c,c++,go  --disable-multilib

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
make 4j
make install

期间耗时1个多小时+

 

5.配置

 vim /etc/profile

source /etc/profile

 

6.

配置libstdc++.so.6

在 build 文件夹里找到 libstdc++.so.* :

find . -name "libstdc++.so.*" | xargs ls -al

复制到 /usr/lib64 目录下:

sudo cp libstdc++.so.6.0.20 /usr/lib64
sudo ldconfig

[root@hadoop1 bin]# find / -name gcc
/home/lee/download/gcc-7.3.0/gcc
/home/lee/download/gcc-7.3.0/build/gcc
/usr/bin/gcc
/usr/lib/gcc
/usr/libexec/gcc
/usr/local/gcc-7.3.0/libexec/gcc
/usr/local/gcc-7.3.0/lib/gcc
/usr/local/gcc-7.3.0/bin/gcc

  

/usr/bin

mv gcc gcc.bak

mv g++ g++.bak

ln -s /usr/local/gcc-7.3.0/bin/gcc gcc

ln -s /usr/local/gcc-7.3.0/bin/g++ g++

gcc --version

g++ -version

原文地址:https://www.cnblogs.com/kingdelee/p/8427888.html