eclipse-iceoryx / iceoryx-rs

Rust wrapper for Eclipse iceoryx™ - true zero-copy inter-process-communication
Apache License 2.0
86 stars 16 forks source link

iox-#73 Support cross compile for aarch64 #74

Open cnwzhjs opened 7 months ago

cnwzhjs commented 7 months ago

Pre-Review Checklist for the PR Author

  1. [x] Code follows the Rust coding style and is formatted with rustfmt
  2. [x] Branch follows the naming format (iox-123-this-is-a-branch)
  3. [x] Commits messages are according to this guideline
  4. [x] Update the PR title
    • Follow the same conventions as for commit messages
    • Link to the relevant issue
  5. [ ] Relevant issues are linked
  6. [x] Add sensible notes for the reviewer
  7. [ ] All checks have passed (except task-list-completed)
  8. [ ] Assign PR to reviewer

Notes for Reviewer

Currently only toolchain file for target aarch64-unknown-linux-gnu is added. If anyone has a test platform for other targets, please add them as well.

Checklist for the PR Reviewer

Post-review Checklist for the PR Author

  1. [ ] All open points are addressed and tracked via issues

References

elBoberido commented 7 months ago

@cnwzhjs it seems the new code is not formatted with rustfmt. Can you run cargo fmt and commit the changes?

cnwzhjs commented 7 months ago

@cnwzhjs it seems the new code is not formatted with rustfmt. Can you run cargo fmt and commit the changes?

Sure, I'll do that as soon as confirming of how we handle the acl/attr dependencies

cnwzhjs commented 6 months ago

Hi @elBoberido , I've just force updated the branch to fix the issues:

  1. Removed the libacl and libattr and their build scripts
  2. Add the chapter Cross-Compiling to the README.md
elBoberido commented 6 months ago

@cnwzhjs I'll have a closer look to it later on but could you also add a new CI job for cross compiling? Just to ensure we don't break it in the future.

codecov-commenter commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (fdd6495) 49.83% compared to head (adbdc75) 49.87%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #74 +/- ## ========================================== + Coverage 49.83% 49.87% +0.04% ========================================== Files 20 20 Lines 1202 1207 +5 ========================================== + Hits 599 602 +3 - Misses 603 605 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

cnwzhjs commented 5 months ago

Looks good. Just a few nitpicks :)

Once the cross compile CI is set up this can be merged

Hi @elBoberido , I've updated the code according to your advices, thanks a lot.

Talking about continuous integration, I need your advice as well:

As you know, cross compiling to aarch64 requires a sysroot with all header and libraries in aarch64. In my local environment, I wrote a script to download, and extract these files from deb packages from debian or ubuntu repository to prepare this sysroot.

Should we include these scripts within the repo, or do you have any other advice on this.

elBoberido commented 5 months ago

Talking about continuous integration, I need your advice as well:

As you know, cross compiling to aarch64 requires a sysroot with all header and libraries in aarch64. In my local environment, I wrote a script to download, and extract these files from deb packages from debian or ubuntu repository to prepare this sysroot.

Should we include these scripts within the repo, or do you have any other advice on this.

Having to extract files from debian packages sounds cumbersome and might easily break. Did you check these sources?

cnwzhjs commented 5 months ago

Talking about continuous integration, I need your advice as well: As you know, cross compiling to aarch64 requires a sysroot with all header and libraries in aarch64. In my local environment, I wrote a script to download, and extract these files from deb packages from debian or ubuntu repository to prepare this sysroot. Should we include these scripts within the repo, or do you have any other advice on this.

Having to extract files from debian packages sounds cumbersome and might easily break. Did you check these sources?

Thank for th reply. The first link seems to be clean and work, I'll give it a try.

elBoberido commented 2 months ago

@cnwzhjs just wanted to know if you are till working on this PR