Skip to content

Update EBcLfSA Integration to New Structure, add Rust support#116

Open
opajonk wants to merge 26 commits intoeclipse-score:mainfrom
elektrobit-contrib:update_ebclfsa_integration
Open

Update EBcLfSA Integration to New Structure, add Rust support#116
opajonk wants to merge 26 commits intoeclipse-score:mainfrom
elektrobit-contrib:update_ebclfsa_integration

Conversation

@opajonk
Copy link
Contributor

@opajonk opajonk commented Feb 20, 2026

Update the EB corbos Linux for Safety Applications integration to the new structure of the repository.

  • Uses https://github.com/eclipse-score/bazel_cpp_toolchains instead of previous score_toolchains_gcc
  • Rust support for EB corbos Linux for Safety Applications is added
  • Integration with //showcases:showcases done, build works, ./score_starter can be used
  • Fixed fastdev sysroot for sandboxed builds

Missing: integration with "high-integrity-application-marking"; this needs to be done in a next step.

@opajonk
Copy link
Contributor Author

opajonk commented Feb 20, 2026

@github-actions
Copy link

The created documentation from the pull request is available at: docu-html

@opajonk opajonk force-pushed the update_ebclfsa_integration branch 2 times, most recently from 2d08005 to ad476fb Compare February 23, 2026 14:40
@opajonk opajonk force-pushed the update_ebclfsa_integration branch 5 times, most recently from d82da61 to 7ad7983 Compare March 17, 2026 14:32
opajonk added 2 commits March 17, 2026 15:35
- Add correct GCC toolchain and switch to official pre-release 2.0.0-beta1 of EB corbos Toolkit
- Add Rust toolchain for aarch64
- Add patch for Lifecycle Health ACL on arm64
- Also: latest devcontainer 1.2.0
@opajonk opajonk force-pushed the update_ebclfsa_integration branch from 7ad7983 to ee4e279 Compare March 17, 2026 15:04
@opajonk opajonk requested a review from pawelrutkaq March 18, 2026 14:05
@opajonk opajonk requested a review from pawelrutkaq March 18, 2026 16:36
@pawelrutkaq
Copy link
Contributor

Looks fine for me , i will test this and then approve. Still I think we shall remove qemu from build phase and use loopdevice.

@pawelrutkaq
Copy link
Contributor

Tested locally, have few issues:

external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: external/score_baselibs++_repo_rules+acl-deb-aarch64/usr/lib/aarch64-linux-gnu/libacl.a(la-__acl_to_any_text.o): in function `__acl_to_any_text':
(.text+0x74c): warning: Using 'getgrgid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: bazel-out/k8-fastbuild/bin/external/score_baselibs+/score/os/libgrp.a(grp_impl.pic.o): in function `score::os::GrpImpl::getgrnam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
grp_impl.cpp:(.text._ZNK5score2os7GrpImpl8getgrnamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x9c): warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: bazel-out/k8-fastbuild/bin/external/score_baselibs+/score/os/libunistd.a(unistd.pic.o): in function `score::os::internal::UnistdImpl::getpwnam_r(char const*, passwd*, char*, unsigned long, passwd**) const':
unistd.cpp:(.text._ZNK5score2os8internal10UnistdImpl10getpwnam_rEPKcP6passwdPcmPS6_+0x3c): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: external/score_baselibs++_repo_rules+acl-deb-aarch64/usr/lib/aarch64-linux-gnu/libacl.a(la-__acl_to_any_text.o): in function `__acl_to_any_text':
(.text+0x634): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

Also depends on use having some binaries like sshpass and then fails cryptically. Either bazelify or in script do checks for required tools to prompt user to install them

Copy link
Contributor

@pawelrutkaq pawelrutkaq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above

opajonk added 5 commits March 23, 2026 14:46
This adds back LLVM, which is required to have iceorxy2 to build successfully.
This should avoid warnings about Bazel not being able to track dependencies properly.
@opajonk opajonk requested a review from pawelrutkaq March 23, 2026 14:55
@opajonk
Copy link
Contributor Author

opajonk commented Mar 23, 2026

Tested locally, have few issues:

external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: external/score_baselibs++_repo_rules+acl-deb-aarch64/usr/lib/aarch64-linux-gnu/libacl.a(la-__acl_to_any_text.o): in function `__acl_to_any_text':
(.text+0x74c): warning: Using 'getgrgid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: bazel-out/k8-fastbuild/bin/external/score_baselibs+/score/os/libgrp.a(grp_impl.pic.o): in function `score::os::GrpImpl::getgrnam(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const':
grp_impl.cpp:(.text._ZNK5score2os7GrpImpl8getgrnamERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x9c): warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: bazel-out/k8-fastbuild/bin/external/score_baselibs+/score/os/libunistd.a(unistd.pic.o): in function `score::os::internal::UnistdImpl::getpwnam_r(char const*, passwd*, char*, unsigned long, passwd**) const':
unistd.cpp:(.text._ZNK5score2os8internal10UnistdImpl10getpwnam_rEPKcP6passwdPcmPS6_+0x3c): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
external/score_bazel_cpp_toolchains++gcc+score_ebclfsa_toolchain_pkg/usr/aarch64-linux-gnu/bin/ld: external/score_baselibs++_repo_rules+acl-deb-aarch64/usr/lib/aarch64-linux-gnu/libacl.a(la-__acl_to_any_text.o): in function `__acl_to_any_text':
(.text+0x634): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

This will certainly require investigation. Apparently, the libacl introduced in baselibs has issues with static linking. However, this is nothing new and not due to the refactoring.

Also depends on use having some binaries like sshpass and then fails cryptically. Either bazelify or in script do checks for required tools to prompt user to install them

Added a check!

@opajonk
Copy link
Contributor Author

opajonk commented Mar 23, 2026

I was also able to get rid of the warning

WARNING: reference_integration/images/ebclfsa_aarch64/build/BUILD:27:8: input 'images/ebclfsa_aarch64/build/config-overlay' of //images/ebclfsa_aarch64/build:fastdev-image is a directory; dependency checking of directories is unsound

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants