Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Recipe: mmtk_julia v0.30.2 #10210

Merged

Conversation

udesou
Copy link
Contributor

@udesou udesou commented Jan 7, 2025

Adding a recipe to build the mmtk-julia binding, which should enable building Julia using MMTk.

udesou and others added 2 commits January 7, 2025 11:58
Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com>
Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com>
@udesou udesou force-pushed the wizard/mmtk_julia-v0.30.2_2c6e27a2 branch from 604ccfe to 09f55c9 Compare January 7, 2025 07:49
@udesou udesou force-pushed the wizard/mmtk_julia-v0.30.2_2c6e27a2 branch from 09f55c9 to 9bc2635 Compare January 7, 2025 08:04
# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = [
Platform("x86_64", "linux"; libc = "glibc")
Copy link
Member

Choose a reason for hiding this comment

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

Is this really only for this one platform?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is, the plan is to support other platforms in the future but for now we only support Linux x86_64.

@giordano
Copy link
Member

giordano commented Jan 7, 2025

One concern I have is that by (implicitly) depending on libjulia this package isn't quite compatible with different Julia versions (ABI always changes across minor versions), on the other hand my understanding is that this package is only meant to be a (conditional/optional) dependency of Julia itself, and at the moment this is all a bit experimental still.

Is the above an accurate description of this package?

@udesou
Copy link
Contributor Author

udesou commented Jan 7, 2025

That’s correct. The big picture is that there has been some recent work on supporting third party GCs on Julia, by exposing a GC interface and MMTk is being added as one of the supporting GCs. The idea is to use this package instead of building the Rust part of the code when building Julia+MMTk which would require users (or the Julia CI) to have the Rust toolchain installed.
But indeed, this package is only meant to be a dependency of Julia itself and the plan is continuously improve the support over time.

@giordano giordano merged commit e749342 into JuliaPackaging:master Jan 7, 2025
4 checks passed
@Keno
Copy link
Contributor

Keno commented Jan 8, 2025

Honestly, it seems a bit weird to me to run this through Yggdrasil. MMTK itself sure, but the julia bindings are very tightly tied to the runtime. In a world where it's the default GC, I would imagine it would even sit in the julia repo so that new GC-dependent features can be co-developed. I understand that that would mean the julia repo picks up a dependency on a rust toolchain, but we may just have to do that. Not to stand in the way of any near-term experimentation, just commenting on the longer-term path.

@udesou
Copy link
Contributor Author

udesou commented Jan 8, 2025

@Keno That's a great point. I'll raise it in the next Julia GC meeting (feel free to join that meeting as well, btw!)

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.

4 participants