Skip to content

MNT: Add native linux-aarch64 builds#346

Merged
vepadulano merged 3 commits intoconda-forge:mainfrom
matthewfeickert:mnt/native-builds
Apr 8, 2026
Merged

MNT: Add native linux-aarch64 builds#346
vepadulano merged 3 commits intoconda-forge:mainfrom
matthewfeickert:mnt/native-builds

Conversation

@matthewfeickert
Copy link
Copy Markdown
Member

@matthewfeickert matthewfeickert commented Apr 2, 2026

  • Add native linux-aarch64 builds through provider.
    • Exclude PCM files from prefix detection on all platforms.
  • Use cross-compilation for linux-ppc64le as linux-* to linux-* emulation is automatic.
  • Bump build number.

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • [N/A] Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

* Add native linux-aarch64 builds through provider.
* Use cross-compilation for linux-ppc64le as linux-* to linux-* emulation
  is automatic.
* Bump build number.
@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Apr 2, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/recipe.yaml:

  • ℹ️ It looks like the '???' output doesn't have any tests.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/23940237628. Examine the logs at this URL for more detail.

* Native linux-aarch64 builds crash with SIGSEGV in CreateInterpreter at
test time because:

 - Runtime_cxxmodules defaults to ON for native platform builds (it is
   set to OFF inside the cross-compilation block in build_root.sh).
 - PCM files (lib/*.pcm) are LLVM bitcode that Cling loads at startup.
 - prefix_detection.ignore only excluded lib/*.pcm for non-aarch64,
   so on linux-aarch64 rattler-build detected and relocated prefix strings
   inside the PCM files, corrupting their bitcode structure.
 - Cling segfaulted when loading the corrupted PCMs.

The fix unconditionally excludes lib/*.pcm from prefix detection,
matching the existing behavior on linux-64 where native builds with
runtime_cxxmodules=ON already work.
…6.03.26.13.31.28

Other tools:
- conda-build 26.3.0
- rattler-build 0.61.4
- rattler-build-conda-compat 1.4.11
@matthewfeickert matthewfeickert marked this pull request as ready for review April 3, 2026 08:41
@matthewfeickert
Copy link
Copy Markdown
Member Author

@conda-forge/root this is ready for review now. Let me know if you have questions.

@matthewfeickert
Copy link
Copy Markdown
Member Author

👋 ping @conda-forge/root.

Copy link
Copy Markdown
Contributor

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

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

Thanks for this work @matthewfeickert !

@vepadulano vepadulano merged commit 04de573 into conda-forge:main Apr 8, 2026
53 checks passed
@matthewfeickert matthewfeickert deleted the mnt/native-builds branch April 8, 2026 09:33
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.

3 participants