RISC-V GNU Compiler Toolchain: Build Error
#1
Hi, 

I am trying to build the "RISC-V GNU Compiler Toolchain" as a step for building the SDK for PULPissimio platform. When I try to execute the following command :


Code:
./configure --prefix=/opt/riscv
make linux




I got this error: 
/tmp/cczwQOyT.s: Assembler messages:
/tmp/cczwQOyT.s:5044: Error: unrecognized opcode `ldu a1,.LANCHOR0+2'
/tmp/cczwQOyT.s:5279: Error: unrecognized opcode `ldu a5,.LANCHOR0'
/tmp/cczwQOyT.s:5357: Error: unrecognized opcode `ldu a4,.LANCHOR0+2'
/tmp/cczwQOyT.s:6002: Error: unrecognized opcode `ldu a2,.LANCHOR0+2'
/tmp/cczwQOyT.s:6094: Error: unrecognized opcode `ldu a3,.LANCHOR0+2'
/home/ahmed/pulp-riscv-gnu-toolchain/riscv-gcc/libgcc/static-object.mk:17: recipe for target 'unwind-dw2.o' failed
make[2]: *** [unwind-dw2.o] Error 1
make[2]: Leaving directory '/home/ahmed/pulp-riscv-gnu-toolchain/build-gcc-linux-stage1/riscv64-unknown-linux-gnu/libgcc'
Makefile:11207: recipe for target 'all-target-libgcc' failed
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory '/home/ahmed/pulp-riscv-gnu-toolchain/build-gcc-linux-stage1'
Makefile:150: recipe for target 'stamps/build-gcc-linux-stage1' failed
make: *** [stamps/build-gcc-linux-stage1] Error 2



I searched for a similar error but I found no solution for this. Hopefully someone will be able to help me solving this error as I am new linux user. 

Thanks in advance !
Reply
#2
Are you sure that your RISC-V toolchain is installed in the proper directory? The assembler in the build flow does not seem to recognize the LDU instruction (i.e. it is probably the x86-64 assembler that is in the system, not the cross compiler your should have used). Check that your crosscompiler is installed, and it is in the path.. Note that the explanations sometimes refer to /opt/riscv by way of an example.
Visit pulp-platform.org and follow us on twitter @pulp_platform
Reply
#3
Thanks for the prompt reply, as far as I understand it's installed using the following set of commands right ?

"./configure --prefix=/opt/riscv --with-arch=rv32imc --with-cmodel=medlow --enable-multilib
make
"
If that is the case, it's installed in the proper directory opt/riscv/bin and the directory is added to the path. If it's not, please advise how to check it.

Thanks for your support.

Also, I proceeded with the other steps until I ran " Hello example" and the RTL simulation, SDK platform was all built successfully.
Reply
#4
(04-15-2019, 10:48 AM)AhmedZaky Wrote: Thanks for the prompt reply, as far as I understand it's installed using the following set of commands right ?

"./configure --prefix=/opt/riscv --with-arch=rv32imc --with-cmodel=medlow --enable-multilib
make
"
If that is the case, it's installed in the proper directory opt/riscv/bin and the directory is added to the path. If it's not, please advise how to check it.

Thanks for your support.

Also, I proceeded with the other steps until I ran " Hello example" and the RTL simulation, SDK platform was all built successfully.
hello AhmedZaky,
Can you guide me how to build the RTL simulation and SDK platform step by step? My current understanding is that I should first create a toolchain according to the readme at https://github.com/pulp-platform/pulp-ri...-toolchain, and then follow readme of the https://github.com/pulp-platform/pulp- Sdk  to build the SDK platform, my understanding is correct?
Reply
#5
(04-15-2019, 10:48 AM)AhmedZaky Wrote: Thanks for the prompt reply, as far as I understand it's installed using the following set of commands right ?

"./configure --prefix=/opt/riscv --with-arch=rv32imc --with-cmodel=medlow --enable-multilib
make
"
If that is the case, it's installed in the proper directory opt/riscv/bin and the directory is added to the path. If it's not, please advise how to check it.

Thanks for your support.

Also, I proceeded with the other steps until I ran " Hello example" and the RTL simulation, SDK platform was all built successfully.

I have the same problem as you. Have you solved this problem in the end? How was it solved?
Reply


Forum Jump: