Skip to content

[#1798] Add musl support#1759

Merged
elBoberido merged 2 commits into
eclipse-iceoryx:mainfrom
Myriade-Medieval:add-musl-support
Jul 8, 2026
Merged

[#1798] Add musl support#1759
elBoberido merged 2 commits into
eclipse-iceoryx:mainfrom
Myriade-Medieval:add-musl-support

Conversation

@Myriade-Medieval

@Myriade-Medieval Myriade-Medieval commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Notes for Reviewer

This PR adds support for x86_64-unknown-linux-musl. It couldn't compile before because of some glibc / musl incompatibilities. I simply removed unavailable functions, and changed a few types. It passes all tests on musl, and shouldn't change anything on other platforms.

Pre-Review Checklist for the PR Author

  • Add sensible notes for the reviewer
  • PR title is short, expressive and meaningful
  • Consider switching the PR to a draft (Convert to draft)
    • as draft PR, the CI will be skipped for pushes
  • Relevant issues are linked in the References section
  • Branch follows the naming format (iox2-123-introduce-posix-ipc-example)
  • Commits messages are according to this guideline
    • Commit messages have the issue ID ([#123] Add posix ipc example)
    • Keep in mind to use the same email that was used to sign the Eclipse Contributor Agreement
  • Tests follow the best practice for testing
  • Changelog updated in the unreleased section including API breaking changes

PR Reviewer Reminders

  • Commits are properly organized and messages are according to the guideline
  • Unit tests have been written for new behavior
  • Public API is documented
  • PR title describes the changes

References

Closes #1798

@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

I was about to sign the ECA. Will my legal name, entered in the legal name field when signing the ECA, be publicly available?

@elfenpiff

Copy link
Copy Markdown
Contributor

I was about to sign the ECA. Will my legal name, entered in the legal name field when signing the ECA, be publicly available?

I think so, this is my eclipse account: https://accounts.eclipse.org/users/celtzschig

Is it important for you that your name does not show up there? If so, we need to find a solution for you.

@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

My concerns are coming from both an anonimity standpoint and a dislike of my legal firstname. For my account, I'll put Myriade as firstname and my legal lastname, since it's public. When signing the ECA, it asks for full legal name, which I'm okay to give as long as it's not public. Would that be fine?

@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval I'm not sure if the name which is used to sign the ECA is visible somewhere. Best is to send an email to emo@eclipse-foundation.org

@elfenpiff

Copy link
Copy Markdown
Contributor

@Myriade-Medieval, from my point of view, I would be happy to welcome you as a contributor to iceoryx2, and I am looking forward to adding musl support to iceoryx2. The ECA is an annoying legal necessity from the Eclipse Foundation.

From a privacy standpoint, you are completely right that this should be configurable so that it is not publicly visible. The reason for this little exercise is just so that we can somehow guarantee that the code really comes from the author, and we don't get into licensing troubles. But for this, we do not require a public profile of you.

I looked at the privacy settings for our Eclipse accounts, and the only thing we can not share with the world is the country.

Try to follow the suggestion of @elBoberido and write an e-mail and if this does not work we will try to reach out to them.

Hopefully, we figure this out quickly and can then concentrate on the fun part again..

@elfenpiff

Copy link
Copy Markdown
Contributor

@Myriade-Medieval what is the state of your request to emo@eclipse-foundation.org? Did you get an answer?

@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

@elfenpiff I received no answer to my email. I have signed the ECA as I described in my previous comment

As this is my first pull request here, lmk if I did anything wrong. I left a lot of boxes unchecked in this PR's preamble, because the changes are quite minimal

@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval oh, it seems the check does now work. Can you please create a small issue like Add musl support and use that issue number for the commits. That issue number will then also be used for the release notes.

@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 63.63636% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.25%. Comparing base (0a69d62) to head (9454939).
⚠️ Report is 22 commits behind head on main.

Files with missing lines Patch % Lines
iceoryx2-pal/posix/src/common/cpu_set_t.rs 0.00% 3 Missing ⚠️
iceoryx2-pal/posix/src/linux/pthread.rs 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1759      +/-   ##
==========================================
+ Coverage   76.18%   76.25%   +0.07%     
==========================================
  Files         430      431       +1     
  Lines       42891    43065     +174     
  Branches     1331     1357      +26     
==========================================
+ Hits        32676    32841     +165     
+ Misses       9125     9107      -18     
- Partials     1090     1117      +27     
Flag Coverage Δ
CPP 63.28% <ø> (+0.08%) ⬆️
Rust 76.14% <63.63%> (+0.08%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
iceoryx2-bb/posix/src/socket_ancillary.rs 34.46% <100.00%> (-0.56%) ⬇️
iceoryx2-pal/posix/src/linux/pthread.rs 96.64% <0.00%> (ø)
iceoryx2-pal/posix/src/common/cpu_set_t.rs 58.33% <0.00%> (-8.34%) ⬇️

... and 40 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval oh, it seems you need to rebase. Could you then also remove the feat:, style: and docs: from the commit message and just have [#1798] Add ..., [#1798] Apply ... and [#1798] Update ... so that it blends in better with the other commit messages. This is just high level nitpicking.

@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval oh, and if a rebase is easily possible, we would prefer that, in order to have a cleaner history.

@elBoberido elBoberido changed the title feat: add musl support [#1798] Add musl support Jul 7, 2026
elBoberido
elBoberido previously approved these changes Jul 7, 2026
@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval thanks very much vor your patience :)

@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

@elBoberido No problem! I'm trying my best, I'm not really used to PRs nor github. It seems github loves merging by default, I pressed a button and it did all that by itself. I hope everything is good now

@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval yeah, everything is good :)

@Myriade-Medieval Myriade-Medieval marked this pull request as draft July 7, 2026 17:58
@Myriade-Medieval

Myriade-Medieval commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

re-reading my code, I am making a last minute change because I'm not being consistent with how non relevant public functions are treated on musl. One is gated, the other one is stubbed, I'll change it so they are both stubbed. On top of that I'm adding a simple comment above the unsafe block, better state the obvious than be sorry later

EDIT: forgot to lint... -_-

Comment thread iceoryx2-bb/posix/src/socket_ancillary.rs Outdated
Comment thread iceoryx2-pal/posix/src/linux/pthread.rs Outdated
Comment thread iceoryx2-pal/posix/src/linux/pthread.rs
@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

@elBoberido I addressed all your comments locally, should I amend to Add musl support and force push, or create a new commit Address comments?

@elBoberido

elBoberido commented Jul 7, 2026

Copy link
Copy Markdown
Member

The diff is not big. You can force push if you want

@Myriade-Medieval

Copy link
Copy Markdown
Contributor Author

To keep the history clean, since changes are small, I decided to squash everything in a single commit.
I'm wondering, should some musl tests be added to the github actions so there is no breakage in the future? The workflow takes already some time to complete, so maybe just adding cargo check --target x86_64-unknown-linux-musl is enough?

elBoberido
elBoberido previously approved these changes Jul 8, 2026

@elBoberido elBoberido left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Okay. I think this is the one that gets merged :)

@elBoberido

Copy link
Copy Markdown
Member

Just read your last comment. Yeah, adding cargo check or maybe cargo clippy should be sufficient. If there are breakages, we can add a full CI build later.

Comment thread .github/workflows/reuse_static_code_analysis.yml
@elBoberido elBoberido merged commit b4d2b8c into eclipse-iceoryx:main Jul 8, 2026
57 checks passed
@elBoberido

Copy link
Copy Markdown
Member

@Myriade-Medieval thanks again for your patience :)

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.

Add musl support

3 participants