RedHat更新GCC升級4.9.2

這半個月一直在解決PHP調用so的問題。終於在ubuntu下搞得差不多哭今天開始往服務器上移植了,結果發現服務器是redhat的某個遠古版本= =鬱悶 公司管服務器的人也不知所蹤了 只能又開始摸着更新裏面的軟件 先從gcc開始咯敲打好了 先說明來意 將含有目標c算法的so按照:

①sudo cp libxxx.so /usr/local/lib路徑

②sudo ldconfig 

寫了一個test.c後按照:

gcc -o xxxtest xxx.c -lxxx (-l爲不帶”lib”的動態庫名稱) 後報錯:

好吧 暫時沒有搜到什麼有用的信息 考慮先把gcc升級一下,開始了:

1.下載gcc安裝包

gcc各版本瀏覽地址 gcc下載官網, 我選擇的是gcc4.9.2 ,因爲之前在ubuntu下也下的這個

2.將gcc-4.9.2tar.bz2解壓(放~目錄裏面了)

[root@localhost ]# tar -xjvfgcc4.9.2.tar.bz2

3.創建安裝目錄

[root@localhost]# mkdir /usr/local/gcc4.9.2

4.進入安裝目錄

[root@localhost]# cd /usr/local/gcc-4.9.2/

5.配置安裝文件

[root@localhost gcc-4.9.2]# ~/gcc-4.9.2/configure --   prefix=/usr/local/gcc-4.9.2 (設置一個路徑比較方便 接下來就明白了)

  (執行源目錄4.9.2中的configure命令,配置將gcc安裝到目標目錄/usr/local/4.9.2/下,這裏–prefix選項代表要將該庫安裝在哪裏,我是裝在/usr/local/4.9.2目錄下,後面的安裝都會用到這個選項)

如果執行這步的時候出現瞭如下錯誤:


configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify

their locations.

錯誤說明要安裝gcc需要GMP、MPFR、MPC這三個庫,可從ftp://gcc.gnu.org/pub/gcc/infrastructure/下載相應的壓縮包。由於MPFR依賴GMP,而MPC依賴GMP和MPFR,所以要先安裝GMP,其次MPFR,最後纔是MPC。這裏三個庫我用的版本分別是gmp4.3.2,mpfr2.4.2和mpc0.8.1。

①.安裝gmp6.0.0

[root@localhost opt]# tar jxvf gmp-6.0.0.tar.bz2

[root@localhost opt]# mkdir /usr/local/gmp-6.0.0

[root@localhost opt]# cd /usr/local/gmp-6.0.0

[root@localhost gmp-6.0.0]# /opt/gmp-6.0.0/configure --prefix=/usr/local/gmp-6.0.0

[root@localhost gmp-6.0.0# make &make install

②安裝mpfr2.4.2(新版本安裝方法與此相同)

[root@localhost]# tar jxvf mpfr2.4.2.tar.bz2

[root@localhost]# mkdir /usr/local/mpfr-2.4.2

[root@localhost ]# cd /usr/local/mpfr-2.4.2

[root@localhost mpfr-2.4.2]# /opt/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2(注意配置的時候要把依賴關係選項加進去)

[root@localhost mpfr-2.4.2]# make & make install

③安裝mpc0.8.1

[root@localhost]# tar jxvf gmpc0.8.1.tar.bz2

[root@localhost]# mkdir /usr/local/mpc-0.8.1

[root@localhost]# cd /usr/local/mpc-0.8.1

[root@localhost mpc-0.8.1]# /opt/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@localhost mpc-0.8.1]# make

[root@localhost mpc-0.8.1]# make install

然後需要添加環境變量LD_LIBRARY_PATH以指出前面三個庫的位置,鍵入以下命令(很關鍵,不然你make一小時候報錯的心情真像草泥馬):

[root@localhost gcc-4.9.2]# export 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

④再次安裝GCC 配置安裝選項

[root@localhost mpc-0.8.1]# cd /usr/local/gcc-4.9.2

[root@localhost gcc-4.9.2]# gcc-4.9.2/configure --prefix=/usr/local/gcc-4.9.2 -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

大概四個多小時後···(等傻了)

7.執行安裝gcc make install

8.建立軟鏈接

[root@localhost /]# sudo ln -s /usr/local/gcc-4.9.2/bin/gcc gcc49

[root@localhost /]# sudo ln -s /usr/local/gcc-4.9.2/bin/g++ g++49

9.添加環境變量

[root@localhost linfeng]# export PATH=$PATH:/usr/local/gcc-4.9.2/bin/

主要參考文章:http://blog.sina.com.cn/s/blog_493667730100zt6n.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章