无法为AIX7.1交叉编译libstdc ++

时间:2018-02-14 13:26:13

标签: gcc g++ cross-compiling libstdc++

我正在尝试为Power8 AIX7.1交叉编译gcc 4.8.2。成功编译了binutils,gcc二进制文件和libgcc但无法编译libstdc ++。

我收到了这样的错误:

Microsoft Visual C++ Runtime Library

配置:

checking whether the /home/zakkurasov/Sources/build-gcc/./gcc/xgcc -B/home/zakkurasov/Sources/build-gcc/./gcc/ -B/opt/aix/powerpc-ibm-aix7.1.0.0/bin/ -B/opt/aix/powerpc-ibm-aix7.1.0.0/lib/ -isystem /opt/aix/powerpc-ibm-aix7.1.0.0/include -isystem /opt/aix/powerpc-ibm-aix7.1.0.0/sys-include  -maix64 linker (/home/zakkurasov/Sources/build-gcc/./gcc/collect-ld) supports shared libraries... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
Makefile:10072: recipe for target 'configure-target-libstdc++-v3' failed
make: *** [configure-target-libstdc++-v3] Error 1

其中:

CC=gcc-5 CXX=g++-5 ../gcc-4.8.3/configure --target=$TARGET --prefix=$PREFIX --with-gnu-ld --with-gnu-as --with-sysroot=$SYSROOT --disable-libgcj --enable-languages=c,c++ --enable-version-specific-runtime-libs --disable-nls --with-cloog=no --with-ppl=no --disable-libstdcxx-pch --enable-__cxa_atexit

也收到了这样的错误:

$PREFIX=/opt/aix
$TARGET=powerpc-ibm-aix7.1.0.0
$SYSROOT contains all libs and headers from AIX system

1 个答案:

答案 0 :(得分:1)

GNU Binutils在AIX 6.1,AIX 7.1和AIX 7.2上无法正常运行。它不会生成正确的共享对象。它还在GCC中传递了一些功能测试,但没有为AIX正确实现这些功能。

您可以克服configure shared library test,但是您将无法创建有效的GCC交叉编译器。

任何需要此功能的客户都应向IBM销售代表表达他们的要求。