Error: x ISA extension `xhwacha' must be set with the versions
Hi,
I tried to run the gemmini/software/gemmini-rocc-tests/build.sh, but got the following errors: Error: x ISA extension `xhwacha' must be set with the versions How can I solve this issue?
P.S. I installed "riscv-gnu-toolchain" and run in Ubuntu 21.04
Regards
I have the same issue, does anyone have any idea how to solve this?
@yuzeng2333 Did you run into any errors when installing Chipyard/Gemmini/Spike, as described here?
Also, can you make sure you ran source env.sh in chipyard/? You need to source that env.sh file whenever you want to build Gemmini binaries or simulators.
Also, can you make sure that you ran ./scripts/build-toolchains.sh with the esp-tools argument? Otherwise, you won't have the right version of the RISCV toolchain.
@hngenc Thank you for your reply! I followed every step in this webpage, including ran ./scripts/build-toolchains.sh with the esp-tools, and I did run into an error: the riscv64-unknown-elf-gcc is not found. I fixed this error by installing riscv-gnu-toolchain. Maybe this is not the right version of RISCV toolchain?
Could you tell what tool should be generated and used by ran ./scripts/build-toolchains.sh with the esp-tools? I looked at the generated files, but did not find riscv64-unknown-elf-gcc. Thanks!
I found riscv64-unknown-elf-gdb and riscv64-unknown-elf-gdb-add-index are installed after ran ./scripts/build-toolchains.sh with the esp-tools, but riscv64-unknown-elf-gcc is not found.
If you're sure you sourced "env.sh", then my guess would be that the build-toolchains.sh script failed.
Can you try running that script again, but try saving the output to a file, and then searching for any "error" messages in the file?
You can also post the file in a Gist here if you can't find any errors.
@hngenc Thank you for your reply! I saved the output of running ./scripts/build-toolchains.sh with the "esp-tools", and there is some errors:
/home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:99:31: error: ‘DEFAULT_GENERATE_ELF_STT_COMMON’ undeclared here (not in a function) 99 | int flag_use_elf_stt_common = DEFAULT_GENERATE_ELF_STT_COMMON; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:100:41: error: ‘DEFAULT_GENERATE_BUILD_NOTES’ undeclared here (not in a function) 100 | bfd_boolean flag_generate_build_notes = DEFAULT_GENERATE_BUILD_NOTES; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ yes checking wctype.h presence... /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c: In function ‘print_version_id’: /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:226:14: error: ‘TARGET_ALIAS’ undeclared (first use in this function); did you mean ‘TARGET_ARCH’? 226 | VERSION, TARGET_ALIAS, BFD_VERSION_STRING); | ^~~~~~~~~~~~ | TARGET_ARCH /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:226:14: note: each undeclared identifier is reported only once for each function it appears in yes checking for wctype.h... /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c: In function ‘parse_args’: /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:689:5: error: ‘TARGET_ALIAS’ undeclared (first use in this function); did you mean ‘TARGET_ARCH’? 689 | TARGET_ALIAS); | ^~~~~~~~~~~~ | TARGET_ARCH yes /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:704:44: error: ‘TARGET_CANONICAL’ undeclared (first use in this function) 704 | fprintf (stderr, _("canonical = %s\n"), TARGET_CANONICAL); | ^~~~~~~~~~~~~~~~ checking for sys/stat.h... (cached) yes /home/yuzeng/workspace/tools/chipyard/toolchains/esp-tools/riscv-gnu-toolchain/build/../riscv-binutils/gas/as.c:705:43: error: ‘TARGET_CPU’ undeclared (first use in this function) 705 | fprintf (stderr, _("cpu-type = %s\n"), TARGET_CPU); | ^~~~~~~~~~ make[5]: *** [Makefile:1224: as.o] Error 1 make[5]: *** Waiting for unfinished jobs....
Do you have any idea how to fix these errors?
By the way, I noticed that "env.sh" set the PATH to chipyard/bin and chipyard/software/firemarshal. I have checked the PATH variable, and it is already set. However, there is no chipyard/bin folder in the shipyard directory. Is this related to this issue?
I'm not familiar with those particular errors...
Could you also send me the full output of the command? You can save it in a Gist
@hngenc Hi Hasan, here is the full output of the command. Thank you so much! Please let me know if any other information is needed.
https://gist.github.com/yuzeng2333/8a04a67d7872368c4fbfeb2993484c67
Sorry, I wasn't able to find anything obviously wrong in the log. I'm a bit lost on this particular issue, and I'm also not sure if I can replicate it
Thanks anyway.
The same problem with u on this repo, both on another cpu.