GCC4.4.3安装【light测试成功】

来源:互联网 发布:火箭发动机 知乎 编辑:程序博客网 时间:2024/06/05 10:49

A:

参考:

http://www.eetop.cn/blog/html/98/510998-20963.html

详细:

 GCC-4.4.3 安装说明

注意:以下的操作都是root权限

由于gcc-4.4.3.tar.bz2linux-2.6.32.tar.bz2这两个包很大,所以需要自己下载,而gmp-4.2.4.tar.bz2mpfr-2.3.2.tar.bz2不好找在这里我已经下载了在附件里可以直接用。

1.      下载所需的安装包:

1)      gcc-4.4.3.tar.bz2

2gcc依赖的两个包:gmp-4.2.4.tar.bz2mpfr-2.3.2.tar.bz2

3)内核linux-2.6.32.tar.bz2,

解压缩与安装

1)新建目录

# cd /home

#mkdir mygcc

2)      用工具把所下载到的gcc-4.4.3.tar.bz2gmp-4.2.4.tar.bz2mpfr-2.3.2.tar.bz2压缩包拷贝到mygcc目录下

3)      进入mygcc目录进行解压

#cd mygcc

#tar –xvf tar xvf gcc-4.4.3.tar.bz2

#tar xvf mpfr-2.3.2.tar.bz2

解压后在当前目录下出现了mpfr-2.3.2目录,并且把该目录更名成mpfr,

#mv mpfr-2.3.2 mpfr
#tar xvf gmp-4.2.4.tar.bz2

解压后在当前目录下出现了gmp-4.2.4目录,并且把该目录更名成gmp,

#mv gmp-4.2.4 gmp

4)    把上面改名后的两个目录移动到gcc-4.4.3目录下:

#mv mpfr gmp gcc-4.4.3

5)    建立目标目录,用来存放安装信息

#cd /usr/local

#mkdir gcc-4.4.3

6)    配置

注意:这一步必须是在目标目录下执行的,例如我的目标目录在/usr/local/gcc-4.4.3目录。

# /home/mygcc/gcc-4.4.3/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,java

7)    编译(make 和下一步make install的操作任然是在目标目录下操作的即我这里是/usr/local/gcc-4.4.3目录下)

#make

注意:这一步需要编译很长时间,大约50分钟,需耐心等待,若你是按照我的步骤操作的一般不会出现问题的。在make完周后执行make install命令。

6)安装

#make install

 

操作完这一步,此时gcc和依赖的包就全部装完了。此时我的gcc-4.4.3安装在了/usr/local/gcc-4.4.3/bin/gcc,可以不用设置环境变量,只是每次使用时指明gcc4的路径就可以了,例如,我要编译hello.c文件,那么命令为:/usr/local/gcc-4.4.3/bin/gcc hello.c –o hello。

B:

自己动手做:

------------------------------------------------light的测试结果------------------------------------------------------------

参照以上的步骤,编译成功,结果在/usr/local/gcc-3.4.0/bin目录下,可以使用./gcc -v查看版本

以下是light的历史记录:

root@light-Aspire-4741:/usr/local/gcc-4.4.3# history

   16  /home/light/Downloads/gcc-4.4.3/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,java
   17  make
   18  export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/  
 //fix:bug 1
   19  make

    20 make install

--------------------21-23不需要-----------------------------------
   21  sudo apt-get install libgmp3-dev libmpfr-dev libmpc-dev libc6-dev-i386 libcloog-ppl-dev
   22  make
   23  make install


root@light-Aspire-4741:/usr/local/gcc-4.4.3# 

--------------------------------

注:bug2见上一篇文章的最后的代码修改部分!修改后则可以编译通过!

即:

2.

You will get an error “./.libs/libgcj.so: undefined reference to `__cxa_call_unexpected”. 

To resolve, we need to modify the prims.cc file like below:

--- libjava/prims.cc    2014-01-11 +++ libjava/prims.cc    2014-01-11 @@ -38,6 +38,14 @@ details.  */
......... #endif  #ifndef DISABLE_GETENV_PROPERTIES+#ifdef __GLIBC__+#define __NO_CTYPE 1+#endif #include <ctype.h> #include <java-props.h> #define PROCESS_GCJ_PROPERTIES process_gcj_properties()
.........

---------------------------------------------------更改系统GCC版本为上面刚刚编译过的版本,方法如下:--------------------------------------------------------------

light@light-Aspire-4741:/usr/bin$ sudo mv gcc gcc.bak
[sudo] password for light: 
light@light-Aspire-4741:/usr/bin$ sudo ln -s /usr/local/gcc-3.4.0/bin/gcc gcc
light@light-Aspire-4741:/usr/bin$ ls gcc -l
lrwxrwxrwx 1 root root 28 Jan 12 00:18 gcc -> /usr/local/gcc-3.4.0/bin/gcc
light@light-Aspire-4741:/usr/bin$ gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /home/light/Downloads/gcc-4.4.3/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,java
Thread model: posix
gcc version 4.4.3 (GCC) 
light@light-Aspire-4741:/usr/bin$ 

0 0
原创粉丝点击