LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2293|回复: 6

[紧急求助]建立交叉编译环境arm-linux-gcc,make all 出错

[复制链接]
发表于 2005-10-14 16:42:35 | 显示全部楼层 |阅读模式
前面的都已经成功编译安装,但是在开始build gcc的时候 运行说道步骤如下:
$cd $PRJROOT/build-tools/build-gcc
$../gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX --enable-languages=c,c++

--enable-languages=c,c++ 告诉 full gcc 支持 c 和 c++ 语言。
然后编译和安装你的 full gcc


$make all 之后的下面的出错信息:

In file included from ../../gcc-2.95.3/gcc/cp/tinfo.cc:31:
../../gcc-2.95.3/gcc/cp/tinfo.h:4: typeinfo: ?????????
../../gcc-2.95.3/gcc/cp/tinfo.cc:32: new: ?????????
make[4]: *** [tinfo.o] Error 1
make[4]: Leaving directory `/home/zy/embedded/build-tools/build-gcc/gcc'
make[3]: *** [libgcc2.a] Error 1
make[3]: Leaving directory `/home/zy/embedded/build-tools/build-gcc/gcc'
make[2]: *** [stmp-multilib-sub] Error 2
make[2]: Leaving directory `/home/zy/embedded/build-tools/build-gcc/gcc'
make[1]: *** [stmp-multilib] Error 1
make[1]: Leaving directory `/home/zy/embedded/build-tools/build-gcc/gcc'
make: *** [all-gcc] Error 2
我在网上找到同样有人有同样的错误信息出现,但是同样没有解决的方法。希望能够得到你们的指导。非常感谢··
 楼主| 发表于 2005-10-14 16:47:24 | 显示全部楼层
我用的是pxa255的开发板  armlinux  宿主机是redhat9
回复 支持 反对

使用道具 举报

发表于 2005-10-17 10:53:46 | 显示全部楼层
补丁打了没,用build-boot-gcc一样的代码,不要另外解压缩一个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-17 20:23:32 | 显示全部楼层
文章中标明的补丁 我都打了的  是不是还有额外的补丁需要打 ??
  “用build-boot-gcc一样的代码,不要另外解压缩一个” 这句话是??
   网上有没有已经编译好的 可以下载直接安装使用的交叉编译环境呢
回复 支持 反对

使用道具 举报

发表于 2005-10-17 21:41:47 | 显示全部楼层
这个是gcc官方网站的patch:
The following patch was submitted by Jeff Sutherland <jeffs@accelent.com>
for building a C++ cross compiler for ARM-linux:

http://gcc.gnu.org/cgi-bin/gnats ... 25&database=gcc

--
Craig Rodrigues        
http://www.gis.net/~craigr   
rodrigc@mediaone.net         

diff -urN gcc-2.95.3_orig/gcc/config/arm/t-linux gcc-2.95.3/gcc/config/arm/t-linux
--- gcc-2.95.3_orig/gcc/config/arm/t-linux        Fri Mar 26 10:30:20 1999
+++ gcc-2.95.3/gcc/config/arm/t-linux        Mon Mar 19 14:08:21 2001
@@ -1,6 +1,7 @@
# Just for these, we omit the frame pointer since it makes such a big
# difference.  It is then pointless adding debugging.
TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
+#TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h
LIBGCC2_DEBUG_CFLAGS = -g0

# Don't build enquire
diff -urN gcc-2.95.3_orig/gcc/cp/inc/typeinfo gcc-2.95.3/gcc/cp/inc/typeinfo
--- gcc-2.95.3_orig/gcc/cp/inc/typeinfo        Wed Dec 16 16:16:26 1998
+++ gcc-2.95.3/gcc/cp/inc/typeinfo        Mon Mar 19 14:30:51 2001
@@ -6,7 +6,7 @@

#pragma interface "typeinfo"

-#include <exception>
+#include "exception"

extern "C++" {

diff -urN gcc-2.95.3_orig/gcc/cp/tinfo.h gcc-2.95.3/gcc/cp/tinfo.h
--- gcc-2.95.3_orig/gcc/cp/tinfo.h        Fri Apr  2 10:35:57 1999
+++ gcc-2.95.3/gcc/cp/tinfo.h        Mon Mar 19 14:29:47 2001
@@ -1,7 +1,7 @@
// RTTI support internals for -*- C++ -*-
// Copyright (C) 1994, 1995, 1996, 1998 Free Software Foundation

-#include "typeinfo"
+#include "inc/typeinfo"

// Class declarations shared between the typeinfo implementation files.

上面很容易懂,大致意思是3处修改修改:
1.
gcc-2.95.3/gcc/config/arm/t-linux文件的“fPIC"后面加上: -Dinhibit_libc -D__gthr_posix_h
2.
gcc-2.95.3/gcc/cp/inc/typeinfo文件:
#include <exception>改为#include "exception"
3.
gcc-2.95.3/gcc/cp/tinfo.h的
#include "typeinfo"
改为
#include "inc/typeinfo"

我只改了第一步可以通过,如果这个不行你再试试2,3步。我做的工具和库一共30m,建议你先做一遍,如果不行就到网上下一个吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-21 20:55:10 | 显示全部楼层
想问下 网上哪里有下的 我找了下不知道在那 还肯望大虾帮助
回复 支持 反对

使用道具 举报

发表于 2005-10-21 21:05:41 | 显示全部楼层
www.minigui.org     的下载区有arm-elf-tools下载,编译好的二进制版,可用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表