Different build path for asmrun
OSL4 fails to compile with the current (6th of September 2024) ham sync of the L4Re packages.
The compile trace reads:
=== Building package "pkg/OSL4" ===
[OSL4/runtime/prepare_contrib] ... System is amd64_gen-std-l4f, ARCH is amd64.
[OSL4/runtime/prepare_contrib] ... ocaml-src dir is $HOME/.opam/default/lib/ocaml-src, version file is $HOME/VerSeCloud/rtc-demo-release/build-amd64/pkg/OSL4/contrib/l4_configured/ocaml-4.13.1/VERSION.
make[5]: Nothing to be done for 'all'.
make[5]: *** No rule to make target '$HOME/VerSeCloud/rtc-demo-release/build-amd64/pkg/OSL4/runtime/libs/asmrun/OBJ-amd64_gen-l4f/libasmrun.a', needed by '$HOME/.opam/default/lib/x86_64-l4re-ocamlopt/libasmrun.a'. Stop.
make[4]: *** [../../../../mk/binary.inc:188: $HOME/VerSeCloud/rtc-demo-release/build-amd64/pkg/OSL4/runtime/inject_custom_asmrun/OBJ-amd64_gen-std-l4f] Error 2
make[3]: *** [../../../mk/subdir.mk:43: inject_custom_asmrun] Error 2
The problem is in the path for the make target libasmrun.a: build-amd64/pkg/OSL4/runtime/libs/asmrun/OBJ-amd64_gen-l4f/libasmrun.a
It should be build-amd64/pkg/OSL4/runtime/libs/asmrun/OBJ-amd64_gen-std-l4f/libasmrun.a
, the "std-" is missing.
To fix this, the following change needs to be made in runtime/inject_custom_asmrun/Make.rules#L25
asmrun/OBJ-$(ARCH)_$(CPU)-$(L4API)/libasmrun.a
-> asmrun/OBJ-$(ARCH)_$(CPU)-std-$(L4API)/libasmrun.a
This issue was originally covered by Issue #1 (closed) but turned out to be two separate issues.
Edited by Mario Egger