-
-
Notifications
You must be signed in to change notification settings - Fork 16.5k
Get julia working on aarch64-darwin #317900
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
base: master
Are you sure you want to change the base?
Conversation
pkgs/development/compilers/julia/patches/1.10/0001-hardcode-macos-SDK.patch
Outdated
Show resolved
Hide resolved
This looks cool! Does |
I'm new to nix (I'm learning it to make building Julia easier :)). How should I try this syntax with this version of the build files? |
@ofborg build julia_19 julia_110 |
I finally figured out where |
@ofborg build julia_19 julia_110 |
What is the default make target that nix runs? I think it's trying to build the mac app or something... The only place the current error could come from is 529 │ app:
530 │ $(MAKE) -C contrib/mac/app
531 │ @mv contrib/mac/app/$(JULIA_BINARYDIST_FILENAME).dmg $(BUILDROOT) |
Just the default target, as if running make with no arguments. |
Thanks. Very odd. This is the current error it's stuck at:
For that specific error, the only place it could come from is (via https://github.com/search?q=repo:JuliaLang/julia%20/codesign.*option%3Druntime/&type=code) here: Which means it's trying to build the dmg file. Is that expected/desired? I would have thought it would just build the binary? |
The correct location is https://github.com/JuliaLang/julia/blob/v1.9.4/contrib/codesign.sh, github search only works with the master branch. Does this also affect 1.10? |
Oops, indeed that looks like the right one. Forgot I was testing the build on 1.9.4. Alright I'll see if I can add a patch.. |
@ofborg build julia_19 julia_110 |
Alright, now it gets all the way to building and installing which succeed. I can verify that Julia also downloads the whole of the package registry to the desired folder. However, the actual
Is that an issue elsewhere or could it mean the codesigning is incorrect now (and so the OS kills it)? Not sure what else to try. |
I've never seen a SIGKILL issue before. Can you confirm basic Julia functionality works before trying |
It's weird, it goes through all the Julia tests in Although I will note I can't actually start the Julia binary stored in |
I don't have a Mac with Nix to test on, but some googling indicates that OS X may kill processes with improper code signing--it sounds like you might see something like To debug further maybe you want to use something like |
@MilesCranmer what is the situation for this? I'm also interested in having Judging from the lack of activity in this thread, I'm guessing you ended up giving up on Nix for Julia? |
@samestep the state is as it currently sits in the PR. Feel free to take over! I think it's certainly doable to fix the issues. I simply no longer needed this package for my particular use-case and then other time pressures took priority. i.e., I won't have a chance to make progress on this for the foreseeable future. And yes I think the issue about ./result/bin/julia being killed is simply due to code signing. I have seen the same issue with installing with |
Description of changes
(General) Updates the juliaMoved to julia: update JULIA_CPU_TARGET from latest upstream settings #318350JULIA_CPU_TARGET
based on upstream binary flags from https://github.com/JuliaCI/julia-buildkite for both all systemsjulia
package working on aarch64-darwin:USE_BINARYBUILDER=1
on darwin. I couldn't get the dependencies compiled from source yet, so I think this is a good solution for the time being, since the only other option isjulia-bin
which pre-packages the entire binaryCreates./patches/1.10/0001-hardcode-macos-SDK.patch
which hardcodes the macOS SDK to get around the issue of the Makefile callingsw_vers
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)