我想构建一个主机类型为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
目录包含usr
和lib
。
在构建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的性能非常快,编译等待时间是我们工作效率的一大瓶颈。
答案 0 :(得分:1)
您可能遇到了sysroot value getting set incorrectly的案例。您可能应该尝试使用详细选项进行构建......因为它可能会显示出来。