linux安装ld编译器,科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文
Linux發行版中一般預裝了gcc編譯器,版本隨系統不同而不同,有時候不想用(或者是不能用)系統默認的gcc編譯器,就需要自己編譯特定版本的gcc編譯器。
這里以在Ubuntu14.04環境(默認gcc為4.8.2)安裝gcc4.6.3為例,記錄一下安裝過程。
整個安裝過程很繁瑣且漫長,計入發現坑以及填坑的時間,至少需要兩個小時(也與機器有關),總之耐心。。。
期間參考了以下網站:
需要提前準備好的軟件有:系統自帶的gcc(如果沒有,需要從軟件庫中通過apt-get安裝)、m4、gmp、mpfr、mpc。
gcc-4.6.3源碼和gmp、mpfr、mpc的源碼都可以在gcc官網中找到,gcc在release文件夾中,其他的在infrastructure文件夾中。
因為這幾個軟件之間相互有依賴關系,故它們的安裝順序不要打亂。
1、安裝m4
sudo apt-get install m4
(上面命令可能提示找不到m4,此時可以更換軟件源試試,也可以使用新立得軟件包管理器synpatic安裝)
2、安裝gmp
tar -xjvf gmp-4.3.2.tar.bz2
cd gmp-4.3.2
./configure --prefix=/usr/local/gmp
make
sudo make install
3、安裝mpfr
tar -xjvf mpfr-2.4.2.tar.bz2
cd mpfr-2.4.2
./configure --prefix=/usr/local/mpfr--with-gmp=/usr/local/gmp
make
sudo make install
4、安裝mpc
tar -xzvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure--prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr
make
sudo make install
5、配置庫路徑
將三個軟件的庫文件加入動態鏈接庫中:
vim ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp/lib:? /usr/local/mpfr/lib:/usr/local/mpc/lib
保存以后:
source ~/.bashrc
將三個軟件的庫文件加入共享鏈接庫中:
vim /etc/ld.so.conf
/usr/local/mpc/lib
/usr/local/gmp/lib
/usr/local/mpfr/lib
保存以后:
sudo /sbin/ldconfig
6、安裝gcc-4.6.3
cd gcc-4.6.3
./configure --prefix=/usr/local/gcc-4.6.3 --enable-threads=posix --disable-checking
--disable-multilib ? --enable-languages=c,c++ --with-gmp=/usr/local/gmp
--with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc
make
sudo make install
在make中有可能出現以下錯誤:
(1)/usr/include/features.h:374:25: fatalerror: sys/cdefs.h:沒有那個文件或目錄
這是因為在64位機器上生成32位的編譯代碼,因此需要安裝32位的庫:
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
(2)/usr/bin/ld: cannot find crti.o: No suchfile or directory
此時需要修改LD_LIBRARY_PATH變量,即在.bashrc中設置:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu
并且做一個鏈接:
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
這里的路徑與機器位數有關,64位為x86_64,32位為i386。
7、配置gcc
用gcc-4.6.3替換原來的gcc,需要將原來的gcc屏蔽掉:
sudo mv/usr/bin/gcc /usr/bin/gcc-4.8.2
sudo mv/usr/bin/g++ /usr/bin/g++-4.8.2
然后將gcc-4.6.3的bin路徑加入到環境變量中:
vim ~/.bashrc
exportPATH=$PATH:/usr/local/gcc-4.6.3/bin
轉載本文請聯系原作者獲取授權,同時請注明本文來自亓欣波科學網博客。
鏈接地址:http://blog.sciencenet.cn/blog-441611-875715.html
上一篇:GTD軟件推薦——Wunderlist
下一篇:COMSOL第一個算例——扳手擰螺栓
總結
以上是生活随笔為你收集整理的linux安装ld编译器,科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GetLBText()和GetWindo
- 下一篇: vue 过滤器 filters