最近在天河上面提交任务,总是出现Fotran runtime error:end of the fie这个错误,把程序下载到自己的unbuntu中却不会出现这种错误,百思不得其解。今晚上终于觉得可能是编译器的问题,自己台式机是GCC 4.6.3,天河是GCC 4.1. 因为之前没有安装过GCC,所以先在自己台式机上面练练手。我的ubuntu 是64位的12.04.
1、自己下载了gcc-4.8.2.tar.bz2, 用 tar -xvj -f gcc-4.8.2.tar.bz2 即可解压
cd gcc-4.8.2
./configure
结果很悲催的发现:gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+,从错误中可以看出:GCC编译需要GMP, MPFR, MPC这三个库,我下载的是gmp-4.3.2.tar.bz2, mpfr-3.1.2tar.bz2, mpc-1.0.2.tar.gz.这三个顺序如何安装我实在搞不明白,上网找到了这篇文章.我的整个过程,包括这篇文章都是顺着这篇文章而来
http://blog.csdn.net/zyysql/article/details/6036145
后面碰到的m4情况也是一样,我下载的是m4-1.4.17.tar.gz
2 安装m4
解压m4压缩包
cd m4-1.4.17
./configure
make
make check
make install
3 安装GMP
解压gmp-4.3.2.tar.bz2,
cd gmp-4.3.2
make
make check
make install
4 安装MPFR
解压mpfr-3.1.2tar.bz2
cd mpfr-3.1.2
./configure --with-gmp-include --with-gmp-lib=/usr/local/lib
make
make check
make install
5安装MPC
解压mpc-1.0.2.tar.gz
cd mpc-1.0.2.tar.gz
./configure --with-gmp-include=/usr/local/include --wtth-gmp-lib=/usr/local/lib
make
ldconfig -v (运行比较顺利,无出现异常)
make check
make install
6、安装GCC
这几个库的默认位置是/usr/local/include和/usr/local/lib,GCC编译时可能会找不到这三个库,需要确认库位置是否在环境变量LD_LIBRARY_PATH中,查看环境变量内容可以用命令 $echo $LD_LIBRARY_PATH 进行查看。我的输出为零,为了方便,我直接
$ gedit ~/.bashrc
在.bashrc最后添上 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 保存退出,再source 以下。
cd gcc-4.8.2
./cofigure
悲剧了,出现了一个错误,大概是configure: error: C++ compiler missing or inoperational之类的,上网一查
http://www.coderbolg.com/content/83.html
给出了比较类似的一个问题,我想可能是因为我没有安装G++的编译器。于是
sudo apt-get install g++
安装完之后可以继续走。但是中间又出了问题。这些问题可以在这篇文章中找到
http://blog.csdn.net/gengshenghong/article/details/7498085
一步步做下去,即可。