Error while building RISC-V tools

376 views
Skip to first unread message

Srikrishna Vasudev

unread,
Sep 4, 2021, 8:23:41 AM9/4/21
to sw-...@groups.riscv.org
Hello everyone,
I am really new to RISC-V. I am trying to build the tools but keep getting this error. I am following the steps provided here:https://github.com/riscv/riscv-tools
I am not sure what I am doing wrong. Can anyone please help me out? Thanks!

Configuring project riscv-isa-sim
Building project riscv-isa-sim
../spike_main/disasm.cc: In constructor ‘disassembler_t::disassembler_t(int)’:
../spike_main/disasm.cc:275:1: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
 disassembler_t::disassembler_t(int xlen)
 ^~~~~~~~~~~~~~
Installing project riscv-isa-sim

Removing existing riscv-pk/build directory
Configuring project riscv-pk
Building project riscv-pk
../dummy_payload/dummy_entry.S: Assembler messages:
../dummy_payload/dummy_entry.S:23: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:24: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:25: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:26: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:27: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:28: Warning: unterminated string; newline inserted
../dummy_payload/dummy_entry.S:29: Warning: unterminated string; newline inserted
Installing project riscv-pk

Removing existing riscv-tests/build directory
Configuring project riscv-tests
configure: WARNING: using cross tools not prefixed with host triplet
Building project riscv-tests
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c:20:1: warning: return type defaults to 'int' [-Wimplicit-int]
   20 | Proc_6 (Enum_Val_Par, Enum_Ref_Par)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c: In function 'Proc_6':
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c:29:9: warning: implicit declaration of function 'Func_3' [-Wimplicit-function-declaration]
   29 |   if (! Func_3 (Enum_Val_Par))
      |         ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c: At top level:
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c:54:1: warning: return type defaults to 'int' [-Wimplicit-int]
   54 | Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone.c:74:1: warning: return type defaults to 'int' [-Wimplicit-int]
   74 | Proc_8 (Arr_1_Par_Ref, Arr_2_Par_Ref, Int_1_Par_Val, Int_2_Par_Val)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c: In function 'main':
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:120:7: warning: implicit declaration of function 'Proc_5' [-Wimplicit-function-declaration]
  120 |       Proc_5();
      |       ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:121:7: warning: implicit declaration of function 'Proc_4' [-Wimplicit-function-declaration]
  121 |       Proc_4();
      |       ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:127:21: warning: implicit declaration of function 'Func_2'; did you mean 'Func_1'? [-Wimplicit-function-declaration]
  127 |       Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc);
      |                     ^~~~~~
      |                     Func_1
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:133:9: warning: implicit declaration of function 'Proc_7' [-Wimplicit-function-declaration]
  133 |         Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc);
      |         ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:138:7: warning: implicit declaration of function 'Proc_8' [-Wimplicit-function-declaration]
  138 |       Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc);
      |       ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:140:7: warning: implicit declaration of function 'Proc_1' [-Wimplicit-function-declaration]
  140 |       Proc_1 (Ptr_Glob);
      |       ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:147:11: warning: implicit declaration of function 'Proc_6' [-Wimplicit-function-declaration]
  147 |           Proc_6 (Ident_1, &Enum_Loc);
      |           ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:158:7: warning: implicit declaration of function 'Proc_2' [-Wimplicit-function-declaration]
  158 |       Proc_2 (&Int_1_Loc);
      |       ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c: At top level:
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:242:1: warning: return type defaults to 'int' [-Wimplicit-int]
  242 | Proc_1 (Ptr_Val_Par)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c: In function 'Proc_1':
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:258:3: warning: implicit declaration of function 'Proc_3'; did you mean 'Proc_1'? [-Wimplicit-function-declaration]
  258 |   Proc_3 (&Next_Record->Ptr_Comp);
      |   ^~~~~~
      |   Proc_1
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c: At top level:
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:276:1: warning: return type defaults to 'int' [-Wimplicit-int]
  276 | Proc_2 (Int_Par_Ref)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:299:1: warning: return type defaults to 'int' [-Wimplicit-int]
  299 | Proc_3 (Ptr_Ref_Par)
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:314:1: warning: return type defaults to 'int' [-Wimplicit-int]
  314 | Proc_4 () /* without parameters */
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../benchmarks/dhrystone/dhrystone_main.c:326:1: warning: return type defaults to 'int' [-Wimplicit-int]
  326 | Proc_5 () /* without parameters */
      | ^~~~~~
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../isa/../env/v/vm.c: In function 'handle_fault':
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../isa/../env/v/vm.c:162:3: error: both arguments to '__builtin___clear_cache' must be pointers
  162 |   __builtin___clear_cache(0,0);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [rv32ui-v-simple] Error 1
make: *** [isa] Error 2

--


Virus-free. www.avg.com

Tommy Murphy

unread,
Sep 4, 2021, 8:34:34 AM9/4/21
to Srikrishna Vasudev, sw-...@groups.riscv.org
Did you take cognizance of this comment at https://github.com/riscv/riscv-tools

"Several RISC-V tools that were previously maintained through this repository have since been upstreamed to their parent projects and are no longer included here. Your favorite software distribution should already have packages for these upstream tools, but if it doesn't then here are a handful of my favorites..."

What exactly are you cloning/building?
What configure options are you using?
What os variant and version are you building on?

My understanding is that at this stage if you really need/want to build the tools from scratch then you should build mostly or completely from upstream repos - e.g. gcc, binutils, gdb, newlib, glibc etc. Spike and openocd may be exceptions though.

From: Srikrishna Vasudev <srikris...@iiitd.ac.in>
Sent: Saturday, September 4, 2021 1:23:26 PM
To: sw-...@groups.riscv.org <sw-...@groups.riscv.org>
Subject: [sw-dev] Error while building RISC-V tools
 
--
You received this message because you are subscribed to the Google Groups "RISC-V SW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+un...@groups.riscv.org.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/CAK4cqk5%3DFzk6YdfLLPkEAwN%2BiGMiM8j8mxtLt2R79GNhimu%2BsQ%40mail.gmail.com.

Jim Wilson

unread,
Sep 4, 2021, 12:40:28 PM9/4/21
to Srikrishna Vasudev, RISC-V SW Dev
On Sat, Sep 4, 2021 at 5:23 AM Srikrishna Vasudev <srikris...@iiitd.ac.in> wrote:
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../isa/../env/v/vm.c: In function 'handle_fault':
/home/ubuntu/opt/riscv-tools/riscv-tests/build/../isa/../env/v/vm.c:162:3: error: both arguments to '__builtin___clear_cache' must be pointers
  162 |   __builtin___clear_cache(0,0);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [rv32ui-v-simple] Error 1
make: *** [isa] Error 2

Looks like you are trying to build riscv-tools.  This hasn't been properly maintained for years.  If you look at the submodules, you will see that they are mostly 3 years out of date.  This particular problem with riscv-tests was fixed many months ago.  I would suggest updating each submodule to top of tree.  Just cd into each submodule dir and do: git checkout master, git pull.  Except in riscv-openocd where you need to checkout the riscv branch instead of the master branch.

Jim

Srikrishna Vasudev

unread,
Sep 6, 2021, 3:10:06 PM9/6/21
to Jim Wilson, RISC-V SW Dev
Thank you for the advice Jim, it worked.
Reply all
Reply to author
Forward
0 new messages