GCC 4.6.2错误:'psignal'的冲突类型

时间:2013-04-16 14:24:10

标签: gcc gcc-warning

我正在尝试在群集的节点上安装gcc-4.6.2。不幸的是,这个节点没有互联网连接,所以我试着手动完成所有事情。 我已经安装了所有必需的软件包,并且我使用以下参数运行配置文件:

./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

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我发现配置调用存在三个潜在问题:

  • 您已指定--build--host--target,但它们都是相同的。这使得构建“让我成为交叉编译器”模式,尽管你实际上没有从中获得交叉编译器。这是一个不正常的事情,可能无法正常工作。尝试删除所有这三个选项。如果您构建的节点不是 x86_64-redhat-linux并且您确实需要交叉编译器到该目标,请仅指定--target 。< / p>

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

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

有关详细建议,请参阅http://gcc.gnu.org/install/configure.html

(你真的对Java编译器有用吗?如果没有,请禁用它,你的构建速度大约是其四倍。)