Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)

雲小蟲2019發表於2019-06-25

一. 原始碼編譯安裝詳解

 (待補充)


二. 安裝CMake 3.15

1. 檢視作業系統版本

[root@mysql80 local]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

2. 下載軟體

下載地址: https://cmake.org/download/

軟體位置:/software/cmake-3.15.0-rc1.tar.gz


3. 建立安裝目錄

mkdir  /usr/local/cmake-3.15.0

4. 配置安裝

  (1)切換到軟體目錄,解壓軟體包

[root@mysql80 cmake-3.15.0]# cd /software/
[root@mysql80 software]# ls -l | grep cmake-3.15.0-rc1.tar.gz 
-rw-r--r--.  1 root root    9249478 Jun 10 08:32 cmake-3.15.0-rc1.tar.gz
[root@mysql80 software]# tar -zxvf cmake-3.15.0-rc1.tar.gz

  (2)配置

[root@mysql80 software]# cd cmake-3.15.0-rc1/
[root@mysql80 cmake-3.15.0-rc1]# ./configure --prefix=/usr/local/cmake-3.15.0


完成配置,提示如下:

-----------------------------------------------------------------------------------------------------

-- Configuring done

-- Generating done

-- Build files have been written to: /software/cmake-3.15.0-rc1

---------------------------------------------

CMake has bootstrapped.  Now run gmake.

-------------------------------------------------------------------------------------------------------

  (3)編譯

make

  (4)安裝

make install

  (5)校驗

[root@mysql80 bin]# type cmake
cmake is /usr/local/bin/cmake
[root@mysql80 bin]# cmake --version
cmake version 3.15.0-rc1
CMake suite maintained and supported by Kitware (kitware.com/cmake).



二.安裝gcc-5.3.0

編譯安裝gcc-5.3.0, 需要注意兩點:

(1)gcc本身是編譯工具,那編譯gcc的工具是什麼?所以需要事先通過yum或rpm安裝好之前版本的gcc。

yum install gcc gcc-c++ -y

(2)相關依賴包: GMP4.3.2   MPFR2.4.2  MPC0.8.1  ,需要依次事先安裝好。

gmp   http://ftp.gnu.org/gnu/gmp/

mpfr   http://ftp.gnu.org/gnu/mpfr/

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



1.  安裝GMP4.3.2

[root@mysql80 software]# mkdir /usr/local/gmp-4.3.2
[root@mysql80 software]# cd /software
[root@mysql80 software]# ls -l | grep gmp
-rw-r--r--.  1 root root    1897483 Jun 10 09:37 gmp-4.3.2.tar.bz2
[root@mysql80 software]# tar -jxvf gmp-4.3.2.tar.bz2 
[root@mysql80 software]# cd gmp-4.3.2/
[root@mysql80 gmp-4.3.2]# ./configure --prefix=/usr/local/gmp-4.3.2
[root@mysql80 gmp-4.3.2]# make
[root@mysql80 gmp-4.3.2]# make install



2.  安裝MPFR2.4.2

[root@mysql80 software]# mkdir /usr/local/mpfr-2.4.2
[root@mysql80 software]# cd /software
[root@mysql80 software]# ls -l | grep 
mpfr
-rw-r--r--.  1 root root    1077886 Jun 10 09:38 mpfr-2.4.2.tar.bz2
[root@mysql80 software]# tar -jxvf mpfr-2.4.2.tar.bz2 
[root@mysql80 software]# cd mpfr-2.4.2/
[root@mysql80 mpfr-2.4.2]# ./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
[root@mysql80 gmp-4.3.2]# make
[root@mysql80 gmp-4.3.2]# make install


3.  安裝MPC0.8.1

[root@mysql80 software]# mkdir /usr/local/mpc-0.8.1
[root@mysql80 software]# cd /software
[root@mysql80 software]# ls -l | grep mpc-0.8.1.tar.gz 
-rw-r--r--.  1 root root     544950 Jun 10 09:38 mpc-0.8.1.tar.gz
[root@mysql80 software]# tar -zxvf mpc-0.8.1.tar.gz  
[root@mysql80 software]# cd mpc-0.8.1
[root@mysql80 mpc-0.8.1]# ./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
[root@mysql80 gmp-4.3.2]# make
[root@mysql80 gmp-4.3.2]# make install

----------------------------------------------------------------------------------------------------------------------

4.  修改環境變數

vim  etc/profile

新增如下行:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-5.3.0/lib:/usr/local/gcc-5.3.0/lib64

使之生效:

source etc/profile

5.  安裝GCC5.3.0

[root@mysql80 software]# mkdir /usr/local/gcc-5.3.0
[root@mysql80 software]# cd /software
[root@mysql80 software]# ls -l gcc-5.3.0.tar.gz 
-rw-r--r--. 1 root root 123036849 Jun 10 09:17 gcc-5.3.0.tar.gz
[root@mysql80 software]# tar -zxvf gcc-5.3.0.tar.gz  
[root@mysql80 software]# cd gcc-5.3.0/
[root@mysql80 gcc-5.3.0]# ./configure --prefix=/usr/local/gcc-5.3.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
[root@mysql80 gmp-4.3.2]# make -j4
[root@mysql80 gmp-4.3.2]# make install


6. 建立軟連線

   cd /usr/bin
  rm gcc
  rm g++ 
  ln -s /usr/local/gcc-5.3.0/bin/g++ g++   
  ln -s /usr/local/gcc-5.3.0/bin/gcc  gcc


 7.校驗

[root@mysql80 bin]# gcc --version
gcc (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
[root@mysql80 bin]# g++ --version
g++ (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69915315/viewspace-2648182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章