我正在尝试在群集的节点上安装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
有人可以帮助我吗?
答案 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编译器有用吗?如果没有,请禁用它,你的构建速度大约是其四倍。)