【转载】转载时请以超连接形式标明文章原始出处和做者信息及本声明
http://www.blogbus.com/huangw10-logs/182474992.html
html
周末折腾了一下午加一晚上,终于弄明白了!失败的缘由是网上着的帖子不少都是互相复制,其中由于每一个人的设置路径之类的不同,做者复制时没有注意,所以记录以下,关键位置尽可能解释清楚。c++
首先要明白前后次序,m4—>gmp—>mpfr—>mpcweb
一、准备工做(此部分是安装三个库的先决条件) :shell
先安装m4,输入 sudo aptitude install build-essential m4 ,此时有可能提示没安装aptitude,若是没有,根据提示,输入 sudo apt-get install aptitude 就OK
centos
二、安装gmp、mpfr和mpc,均可以在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下载,我这里分别下载gmp4.3.2,mpfr2.4.2和mpc0.8.1, 以后切换到root用户(sudo -i) ,此为如下步骤的前提!bash
在 /usr/local/下分别创建三个文件夹ide
cd /usr/local/ui
mkdir gmp432idea
mkdir mpfr242spa
mkdir mpc081
(1)安装gmp,能够提早 把下载的三个库的压缩包分别放到相应的文件夹下
cd gmp432 *这个文件夹可理解为是将gmp安装在这里
bunzip2 gmp-4.3.2.tar.bz2
tar xf gmp-4.3.2.tar *生成gmp-4.3.2文件夹(这个文件夹可理解为是安装文件所在的目录)
cd gmp-4.3.2
./configure --prefix=/usr/local/gmp432
*--prefix选项表明要将该库安装在哪里,我装在/usr/local/gmp432目录下,后面的安装都会用到这个选项。
make *若是出错,从新configure的话,先make distclean清除make信息后再从新configure
make check * 在编译的时候,最后没提示什么错误再往下进行, 建议每一次make以后都运行这个命令
make install *装好后/usr/local/gmp432/目录下有三个文件夹
make clean
(2)安装mpfr,
cd mpfr242
cd mpfr-2.4.2
./configure --prefix=/usr/local/mpfr242 --with-gmp=/usr/local/gmp432
*注意这个地方的路径匹配,gmp安装在哪这个地方就要写哪,由于是依存关系!建议统一安装在gmp43二、
mpfr24二、mpc081这三个地方
make
make check
make install
(3)安装mpc,
cd mpc081
cd mpc-0.8.1
./configure --prefix=/usr/local/mpc081 --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242
*同上,注意路径!!!
make
make check
make install
三、安装gcc-4.4.5
在/usr/local/下新建gcc445文件夹,以后在http://gcc.gnu.org/index.html 上下载gcc压缩包,放在/usr/local/gcc445下,解压缩后
cd gcc-4.4.5
./configure --prefix=/usr/local/gcc445 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242 --with-mpc=/usr/local/mpc081
*其余帖子是创建个临时文件夹,上面的语句开头有些细微差异,这个是我本身悟出来的,也能够参考
http://www.comdyn.cn/from-web/68-server-setup/164-centos-48-gcc450.html 按照他的方法,可是要
注意路径。
为保险起见,须要在环境变量LD_LIBRARY_PATH添加前面三个库的位置,键入如下命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib *注意路径!
make *注意检查有没有错误,过程很慢,1-2个小时!
make check *若是make没有问题,这一步能够省略,由于时间好久
make install
保留旧版的gcc,创建符号连接
cd /usr/bin
ln -s /usr/local/gcc445/bin/gcc gcc44
ln -s /usr/local/gcc445/bin/g++ g44++
最后,在/etc/bashrc中(有帖子说是在/etc/profile中,这个我不肯定)增长下面两行代码:
LD_LIBRARY_PATH=:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib:/usr/local/gcc445/lib
export LD_LIBRARY_PATH
保存重启系统后,就可使用新装的gcc了,enjoy!
最后看到一个帖子提到以上命令能够写个shell文件,installgcc.sh,批处理执行,great idea!记下网址,有空能够试试:http://bitterliquor.blog.hexun.com/65259015_d.html