[更新20150825:在编译genmddeps.o时,似乎有编译器 - 汇编程序不匹配;使用的编译器是g++
,它是已安装的版本Ubuntu 4.9.2-10ubuntu13
,但使用的汇编程序位于构建目录./as
中,配置为riscv64-unknown-elf
,因此选项{的错误{1}}从编译器传入。完整命令位于本文末尾的最后一个代码块中。我还不清楚(为什么还有--64
的本地副本以及为什么as
不够智能而不使用它......] < /强>
也许有一些简单的东西,我错误配置,但如果是这样,它会在多次尝试中滑落。任何帮助将不胜感激。
我不得不尝试构建火箭芯片树,并且在构建riscv工具时出现问题。似乎正在发生的事情是将一个非法选项传递给riscv汇编程序,导致失败:
g++
配置似乎并不认为它是交叉编译的,因为将riscv用作二进制文件而不是系统x86_64作为二进制文件,我会期望:
/home/kevin/Working/rocket-chip/riscv/riscv64-unknown-elf/bin/as: unrecognized option '--64'
make[3]: *** [build/genmddeps.o] Error 1
make[2]: *** [all-gcc] Error 2
make[1]: *** [all] Error 2
make: *** [stamps/build-gcc-newlib] Error 2
路径似乎设置正确:
Configuring in ./gcc
...
checking whether we are cross compiling... no
(旁注,我在下载gcc-5.2.0后看到构建过程中出现了一些shell测试错误:
> echo $TOP
/home/kevin/Working/rocket-chip
> echo $RISCV
/home/kevin/Working/rocket-chip/riscv
> echo $PATH
.:~/bin:~/scripts:.:~/bin:~/scripts:/home/kevin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/kevin/Working/rocket-chip/riscv/bin
不确定这是否是一种症状或是否已知行为。)
系统是在Win *盒子下在VMware播放器下运行的Ubuntu 15.04。我在tcsh中运行,但同样的事情也是从bash运行的。从围绕riscv的变化来看,似乎所需的选项是--m64而不是--64但是我不确定--64来自构建/配置文件的位置,因为它是没有显示在编译器的实际构建命令中。构建日志中的完整构建指令序列为:
/bin/sh: 1: test: false: unexpected operator
答案 0 :(得分:2)
从我的PATH中删除.
解决了这个问题:结果表明构建过程和目录的结构方式g++
(为x86_64安装) 正在运行{ {1}}(仅为RISC-V构建)。当我将来构建as
时,我会自动解决这个问题。