gemmini icon indicating copy to clipboard operation
gemmini copied to clipboard

Error: x ISA extension `xhwacha' must be set with the versions

Open linbaiwpi opened this issue 4 years ago • 13 comments

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

linbaiwpi avatar Oct 25 '21 02:10 linbaiwpi

I have the same issue, does anyone have any idea how to solve this?

yuzeng2333 avatar Feb 06 '22 05:02 yuzeng2333

@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.

hngenc avatar Feb 06 '22 06:02 hngenc

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 avatar Feb 06 '22 06:02 hngenc

@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!

yuzeng2333 avatar Feb 06 '22 16:02 yuzeng2333

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.

yuzeng2333 avatar Feb 06 '22 17:02 yuzeng2333

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 avatar Feb 06 '22 18:02 hngenc

@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?

yuzeng2333 avatar Feb 06 '22 19:02 yuzeng2333

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?

yuzeng2333 avatar Feb 06 '22 19:02 yuzeng2333

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 avatar Feb 06 '22 21:02 hngenc

@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

yuzeng2333 avatar Feb 07 '22 02:02 yuzeng2333

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

hngenc avatar Feb 07 '22 02:02 hngenc

Thanks anyway.

yuzeng2333 avatar Feb 07 '22 02:02 yuzeng2333

The same problem with u on this repo, both on another cpu.

liuyuxivapor avatar Apr 17 '23 11:04 liuyuxivapor