What also seems possible is to set HOST_ARCH=DISTRO_ARCH, and use the resulting SDK as sysroot for external cross compiler.

четверг, 16 июля 2026 г. в 11:10:51 UTC+3, i shyneee:
Hello!

In build systems I've seen SDK comprises separate host tools and sysroot. Isar chose the multiarch approach. So I'm asking you to clarify:
1) that I must put "*-dev" packages in SDK_PREINSTALL in order for them to be available to the cross-compiler;
2) that there is no detached "sysroot" format available.

I'm currently trying to install ROS 2 arm64 package to my SDK:
SDK_PREINSTALL += "\
    ros-lyrical-ros-base:${DISTRO_ARCH}"
The problem is that it depends on "python3-pytest:arm64". "python3-pytest" package has "Architecture: all" but not "Multi-Arch: foreign". So it is not available with ":arm64" postfix. I'm currently considering investigating two approaches:
1) fake packages with equivs;
2) self-packaging like in "siemens/isar-riscv".

Additional note:
The multiarch SDK approach also is also preventing me from
SDK_PREINSTALL += "\
    ros-lyrical-ros-base \
    ros-lyrical-ros-base:${DISTRO_ARCH}"
due to lack of proper multiarch support in ROS 2. 

So I can't use it as Docker rootfs container (I want it to carry ROS 2 for both architectures - one for host user, one for cross-compilation). I can just add the SDK to a directory in the container and call "./relocate_sdk.sh". But why do I have to carry the whole amd64 rootfs instead of aarch64 sysroot only?

--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/cbc3047c-8d12-444b-993d-d0c3f728d319n%40googlegroups.com.