2013-04-16 66 views
0

我试图在集群的节点上安装gcc-4.6.2。不幸的是,这个节点没有互联网连接,所以我尝试手动做所有事情。 我已经安装了所有必需的包和我已经运行具有以下参数配置文件:GCC 4.6.2错误:'psignal'的冲突类型

./configure --with-newlib --prefix=/usr/lib64/gcc-4.6.2 --disable-libssp 
--enable-shared --enable-threads=posix --enable-__cxa_atexit 
--enable-clocale=gnu --enable-languages=c,c++,java 
--with-cpu=generic --build=x86_64-redhat-linux    
--host=x86_64-redhat-linux --target=x86_64-redhat-linux 
--with-target-subdir=x86_64-redhat-linux --with-mpfr=/usr/local/lib 
--with-gmp=/usr/local/lib --with-mpc=/usr/local/lib 

然而,当我让我得到了以下错误:

../.././libiberty/strsignal.c:555: error: conflicting types for ‘psignal’ 
/usr/include/signal.h:141: error: previous declaration of ‘psignal’ was here 
莫非

别人的帮助我?

回答

0

我看到你的配置调用三个潜在的问题:

  • 你指定--build--host,并--target,但他们都是一样的。尽管实际上并没有从中获得交叉编译器,但这使得构建“使我成为交叉编译器”模式成为可能。这是一个不正常的事情,可能无法正常工作。尝试删除所有这三个选项。如果您正在构建的节点是而不是x86_64-redhat-linux并且您确实希望对该目标进行交叉编译,请指定--target仅限于

  • 您已经指定--with-newlib,但是您的--target选择是x86_64-redhat-linux。最后我听说,newlib不支持这个操作系统 - 这是一个嵌入式工作的最小C库。尝试解决这个问题。

  • 没有--with-target-subdir选项。这本身无害 - 配置忽略无法识别的--with--enable选项 - 但我不知道意味着什么要做。你从某处复制了这个配置调用吗?

进一步的建议,请http://gcc.gnu.org/install/configure.html

(你真的有Java编译器使用一个?如果不是,禁用它和你的构建将大约快四倍。)

+0

我再次与这个'运行./configure --enable-共享--enable-threads = posix --enable -__ cxa_atexit --enable-clocale = gnu --enable-languages = c,C++,java --with-cpu = generic --with-mpfr =/usr/local/lib - -with-gmp =/usr/local/lib --with-mpc =/usr/local/lib',但是在'/usr/lib64/gcc-4.6.2/x86_64- unknown-linux-gnu/libgcc':configure:error:无法计算目标文件的后缀:无法编译。 ' – desmo

+0

这表明你的引导编译器有问题。是否已经安装了编译器?它适用于简单的测试程序吗?我可能会更具体,如果你在'config.log'的内容发布(不在这里,请,这将是巨大的,把它放在一个pastebin或类似的东西,并张贴链接) – zwol

+0

我有一个2以前版本的gcc 3.4.6和gcc 4.1.2。 – desmo