go语言编译环境gccgo的搭建过程

2660阅读 0评论2015-03-18 pu2182_cn
分类:LINUX

gcc新版本编译gccgo
前提条件:
GNU Multiple Precision Library (GMP) version 4.3.2 (or later)
Necessary to build GCC. If a GMP source distribution is found in a subdirectory of your GCC sources named gmp, it will be built together with GCC. Alternatively, if GMP is already installed but it is not in your library search path, you will have to configure with the --with-gmp configure option. See also --with-gmp-lib and --with-gmp-include. 
MPFR Library version 2.4.2 (or later)
Necessary to build GCC. It can be downloaded from If an MPFR source distribution is found in a subdirectory of your GCC sources named mpfr, it will be built together with GCC. Alternatively, if MPFR is already installed but it is not in your default library search path, the --with-mpfr configure option should be used. See also --with-mpfr-lib and --with-mpfr-include. 
MPC Library version 0.8.1 (or later)
Necessary to build GCC. It can be downloaded from If an MPC source distribution is found in a subdirectory of your GCC sources named mpc, it will be built together with GCC. Alternatively, if MPC is already installed but it is not in your default library search path, the --with-mpc configure option should be used. See also --with-mpc-lib and --with-mpc-include. 


一个一个顺序安装后,
a) 安装gmp
make 
make check 
make install 
b)  安装MPFR
c)  安装mpc  
需要提前在linux中或者windows中安装svn软件。
linux中安装subversion windows中安装TortoiseSVN


安装命令(一行一个命令):
svn checkout svn://gcc.gnu.org/svn/gcc/branches/gccgo gccgo
mkdir objdir
cd objdir
../gccgo/configure --enable-languages=c,c++,go


make
make install


make时的错误:
/webapp/project/objdir/x86_64-unknown-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile


解决办法:从stackoverflow中查到的
This issue is caused by dyanmic link library path issue when the test programs try to link against libmpc/libmpfr/libgmp.
Append below environment variable to allow ld link against the correct so file:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/mpc/lib/
Then try build gcc again.


耗时一个工作日,编译完成。

如此便可在内核版本很低,gcc版本为gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-55)的情况下,通过编译安装新版本的gcc version 5.0.0 20150116 (experimental) (GCC) ,直接编译go语言的源代码文件。编译命令类似c/c++的编译。如果有文件依赖关系,需要import non-standard package,使用如下命令即可:
go build -compiler gccgo main.go
上一篇:没有了
下一篇:MariaDB v10.0的安装过程