I compiled directly on the Unmatched board. I also submitted series of patches which are fixing all issues you are referring to.
you can use both clang and gcc, problem with clang is that some parts of VPP unconditionally turn address sanitiser on and there is no ASAN shared libraries available for risc-v. You can bypass this temporarely by commenting out test_pnat, test_vat and test_vat2 targets. I also managed to cross-compile vpp on ubuntu system by using debian multiarch libs. # dpkg --add-architecture riscv64 Update sources.list: deb [arch=arm64,armhf,riscv64] http://ports.ubuntu.com/ubuntu-ports/ impish main restricted universe multiverse deb [arch=arm64,armhf,riscv64] http://ports.ubuntu.com/ubuntu-ports/ impish-updates main restricted universe multiverse deb [arch=arm64,armhf,riscv64] http://ports.ubuntu.com/ubuntu-ports/ impish-backports main restricted universe multiverse # apt update # apt install crossbuild-essential-riscv64 libssl-dev:riscv64 uuid-dev:riscv64 libnl-3-dev:riscv6 libnl-route-3-dev:riscv64 libbpf-dev:riscv64 $ cmake \ -DCMAKE_SYSTEM_NAME=Linux \ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc \ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-gcc \ -DCMAKE_C_COMPILER_TARGET=riscv64-linux-gnu \ -DCMAKE_CXX_COMPILER_TARGET=riscv64-linux-gnu \ -DCMAKE_ASM_COMPILER_TARGET=riscv64-linux-gnu \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=BOTH \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \ -DCMAKE_FIND_ROOT_PATH=/usr/riscv64-linux-gnu \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \ -DCMAKE_BUILD_TYPE:STRING=debug \ -G Ninja \ -S src \ -B . $ ninja $ file bin/vpp bin/vpp: ELF 64-bit LSB executable, UCB RISC-V, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=51ac741e44727379a0fbb5936acea4d7b8bdd624, for GNU/Linux 4.15.0, with debug_info, not stripped And run with qemu: $ qemu-riscv64-static ./bin/vpp unix interactive buffer [warn ]: numa[0] falling back to non-hugepage backed buffer pool (vlib_physmem_shared_map_create: pmalloc_map_pages: failed to mmap 19 pages at 0x404fc00000 fd 4 numa 0 flags 0x11: Invalid argument) buffer [warn ]: numa[1] falling back to non-hugepage backed buffer pool (vlib_physmem_shared_map_create: pmalloc_map_pages: failed to set mempolicy for numa node 1: Function not implemented) vlib_physmem_shared_map_create: pmalloc_map_pages: failed to set mempolicy for numa node 1: Function not implementedsvm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) svm_queue_init:57: mutex_init: No such file or directory (errno 2) vat-plug/load [error ]: vat_plugin_register: oddbuf plugin not loaded... _______ _ _ _____ ___ __/ __/ _ \ (_)__ | | / / _ \/ _ \ _/ _// // / / / _ \ | |/ / ___/ ___/ /_/ /____(_)_/\___/ |___/_/ /_/ DBGvpp# — Damjan > On 08.11.2021., at 14:59, Hrishikesh Karanjikar > <hrishikesh.karanji...@gmail.com> wrote: > > Hi, > > Thanks for this patch. I will check it out. Which compile did you use? Did > you cross compile or locally compiled it on Qemu or any other platform? > I was able to compile VPP using GCC10 locally on Qemu but I had to do other > modifications. > At many places I was able to put RiscV specific code but vector support for > RiscV is still not available so I had to use stubs for compilation to work. > > Thanks, > Hrishikesh > > On Mon, Nov 1, 2021 at 1:53 AM Damjan Marion <dmar...@me.com> wrote: > > Here it is: > > https://gerrit.fd.io/r/c/vpp/+/34298 > > It is early but works for me. > > — > Damjan > > >> On 25.10.2021., at 18:36, Hrishikesh Karanjikar >> <hrishikesh.karanji...@gmail.com> wrote: >> >> Hi, >> >> Yes. SiFive HiFive boards are available. But they do not support Vector >> Extension yet. >> Also Qemu is ready for RiscV. Ubuntu images are available for RIscV. >> >> Thanks, >> Hrishikesh >> >> >> On Mon, Oct 25, 2021 at 9:56 PM Damjan Marion <dmar...@me.com> wrote: >> >> >> >> > On 14.10.2021., at 15:43, Hrishikesh Karanjikar >> > <hrishikesh.karanji...@gmail.com> wrote: >> > >> > >> > Hi, >> > >> > Is VPP ported for the Risc-V processor? >> > Is there any project going for the same? >> > >> >> I was looking at that a year ago but I was not able to find any suitable dev >> board. >> >> Is there anything new on the market? >> >> — >> Damjan >> >> >> >> -- >> >> Regards, >> Hrishikesh Karanjikar >> >> >> > > > > -- > > Regards, > Hrishikesh Karanjikar
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20448): https://lists.fd.io/g/vpp-dev/message/20448 Mute This Topic: https://lists.fd.io/mt/86312689/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-