在构建GCC交叉编译器时找不到limits.h的include

时间:2013-02-22 14:49:31

标签: gcc cross-compiling x86-64 include-path sparc

我想构建一个主机类型为Linux x86_64和--target=sparc-sun-solaris2.10的交叉编译器。

我已成功建立了带有--target标志的binutils以及GMP,MPFR和MPC。

我已将Binutils和GCC配置为使用--with-build-sysroot=$SYSROOT标志并递归复制

  • /usr/include
  • /lib
  • /usr/lib

从目标主机到它,以便我的$SYSROOT目录包含usrlib

在构建GCC之前,我还将PATH和LD_LIBRARY_PATH设置为我的前缀。

但是当我尝试构建GCC时,它失败了尝试构建libgcc(我相信第二阶段),但是错误:

gcc/include-fixed/limits.h:169:61: error: no include path in which to search for limits.h

我已经确认limits.h确实存在$SYSROOT/usr/include,那么GCC为什么不使用它呢?

请帮忙。

如果我可以交叉编译我们的代码以便在x86_64上工作,它将为我们的大公司节省大量工时。与SPARC相比,x86_64的性能非常快,编译等待时间是我们工作效率的一大瓶颈。

1 个答案:

答案 0 :(得分:1)

您可能遇到了sysroot value getting set incorrectly的案例。您可能应该尝试使用详细选项进行构建......因为它可能会显示出来。