Hello genodians, While building sculpt for virt_qemu_riscv, I came across the following error, which I believe is related to dde_linux. Please have a look and kindly suggest the modifications required.
checking library dependencies... Library ldso_so_support COMPILE so_support.o MERGE ldso_so_support.lib.a Library ld CONVERT ld.symbols.s ASSEMBLE ld.symbols.o MERGE ld.abi.so Library base MERGE base.lib.a Library config MERGE config.lib.a Library lxip_include MERGE lxip_include.lib.a Library lxip COMPILE bug.o COMPILE driver.o In file included from <command-line>: /home/genode/depot/genodelabs/src/vfs_lxip/2022-11-28/src/lib/lxip/include/lx_emul.h:174:10: fatal error: legacy/lx_emul/barrier.h: No such file or directory 174 | #include <legacy/lx_emul/barrier.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[7]: *** [/home/genode/repos/base/mk/generic.mk:58: driver.o] Error 1 make[6]: *** [var/libdeps:116: lxip.lib] Error 2 make[5]: *** [Makefile:336: gen_deps_and_build_targets] Error 2 make[4]: *** [/home/genode/tool/depot/mk/build_bin_archive:208: /home/genode/depot/genodelabs/bin/riscv/vfs_lxip/2022-11-28.build/bin] Error 1 make[3]: *** [/home/genode/depot/var/build.mk:264: genodelabs/bin/riscv/vfs_lxip/2022-11-28] Error 2 make[2]: *** [/home/genode/tool/depot/build:136: execute_generated_build_mk_file] Error 2 make[1]: *** [/home/genode/tool/depot/create:59: build] Error 2 make[1]: Leaving directory '/home/genode/build/riscv'
Please help me in understanding the problem and suggest some way out.
regards, Pranab
Hello,
On Wed, Apr 12, 2023 at 21:38:57 CEST, Pranab Rout wrote:
While building sculpt for virt_qemu_riscv, I came across the following error, which I believe is related to dde_linux. Please have a look and kindly suggest the modifications required.
First I'd like to note that riscv is not supported by dde_linux currently, which should explain the error you experience.
checking library dependencies... Library ldso_so_support COMPILE so_support.o MERGE ldso_so_support.lib.a Library ld CONVERT ld.symbols.s ASSEMBLE ld.symbols.o MERGE ld.abi.so Library base MERGE base.lib.a Library config MERGE config.lib.a Library lxip_include MERGE lxip_include.lib.a Library lxip COMPILE bug.o COMPILE driver.o In file included from <command-line>: /home/genode/depot/genodelabs/src/vfs_lxip/2022-11-28/src/lib/lxip/include/lx_emul.h:174:10: fatal error: legacy/lx_emul/barrier.h: No such file or directory 174 | #include <legacy/lx_emul/barrier.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.
Nevertheless, you may be able to enable lxip, which is just a network-stack library and does not directly interface with hardware devices. For the current issue, you should create barrier.h for riscv taking, for example, the x86 variant as a blue print. As lxip does not address DMA-capable devices you may implement all function as simple memory barriers.
Finally, you have to instruct the compiler to lookup your new barrier.h when running for spec riscv in repos/dde_linux/lib/import/import-lxip_include.mk.
Good luck
Christian
Hello Pranab,
On 4/12/23 21:38, Pranab Rout wrote:
Hello genodians, While building sculpt for virt_qemu_riscv, I came across the following error, which I believe is related to dde_linux. Please have a look and kindly suggest the modifications required.
checking library dependencies... Library ldso_so_support COMPILE so_support.o MERGE ldso_so_support.lib.a Library ld CONVERT ld.symbols.s ASSEMBLE ld.symbols.o MERGE ld.abi.so <http://ld.abi.so> Library base MERGE base.lib.a Library config MERGE config.lib.a Library lxip_include MERGE lxip_include.lib.a Library lxip COMPILE bug.o COMPILE driver.o In file included from <command-line>: /home/genode/depot/genodelabs/src/vfs_lxip/2022-11-28/src/lib/lxip/include/lx_emul.h:174:10: fatal error: legacy/lx_emul/barrier.h: No such file or directory 174 | #include <legacy/lx_emul/barrier.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[7]: *** [/home/genode/repos/base/mk/generic.mk:58 <http://generic.mk:58>: driver.o] Error 1 make[6]: *** [var/libdeps:116: lxip.lib] Error 2 make[5]: *** [Makefile:336: gen_deps_and_build_targets] Error 2 make[4]: *** [/home/genode/tool/depot/mk/build_bin_archive:208: /home/genode/depot/genodelabs/bin/riscv/vfs_lxip/2022-11-28.build/bin] Error 1 make[3]: *** [/home/genode/depot/var/build.mk:264 <http://build.mk:264>: genodelabs/bin/riscv/vfs_lxip/2022-11-28] Error 2 make[2]: *** [/home/genode/tool/depot/build:136: execute_generated_build_mk_file] Error 2 make[1]: *** [/home/genode/tool/depot/create:59: build] Error 2 make[1]: Leaving directory '/home/genode/build/riscv'
Please help me in understanding the problem and suggest some way out.
In addition to Christians comments. You will have to write assembly.
You could also use lwip [1] instead of lxip which works already on RISC-V.
[1] https://github.com/genodelabs/genode/tree/master/repos/libports/src/lib/lwip
Good luck,
Sebastian
Hi all, Thank you for your valuable time. Following your instructions, I enabled lxip. Further while building sculpt for riscv, I am getting this new error related to bsd_audio_drv.
created genodelabs/pkg/sculpt/2023-04-14-a make[1]: Leaving directory '/home/genode/build/riscv' update depot: /home/genode/tool/depot/create genodelabs/pkg/riscv/chroot CROSS_DEV_PREFIX=/usr/local/genode/tool/21.05/bin/genode-riscv- DEPOT_DIR=/home/genode/depot UPDATE_VERSIONS=1 FORCE=1 REBUILD= make[1]: Entering directory '/home/genode/build/riscv' created genodelabs/api/base/2022-11-28 created genodelabs/api/file_system_session/2022-09-20 created genodelabs/api/os/2022-11-16 created genodelabs/src/chroot/2022-11-28 created genodelabs/pkg/chroot/2022-11-28 make[1]: Leaving directory '/home/genode/build/riscv' Error: recipe for 'pkg/bsd_audio_drv' not found - unable to guess version make: *** [Makefile:431: run/sculpt] Error 1
I am not able to understand where and what the problem is. Kindly help me in understanding the issue and suggest the needful. I am getting closer to complete building the sculpt for virt_qemu_riscv. Please help me out.
Regards, Pranab
Hi Pranab,
On 4/14/23 14:38, Pranab Kumar Rout cs21m045 wrote:
Hi all, Thank you for your valuable time. Following your instructions, I enabled lxip.
Very nice! Let me know where I can find your commit, so we can integrate it into Genode.
Further while building sculpt for riscv, I am getting this new error related to bsd_audio_drv.
The "bsd_audio_drv" is not needed on RISC-V because it is for Intel based HDA sound cards only. So omit it please.
Regards,
Sebastian