-
-
Notifications
You must be signed in to change notification settings - Fork 32
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
Adding osx-arm support v3 #252
base: main
Are you sure you want to change the base?
Conversation
…nda-forge-pinning 2022.08.23.13.46.03
…nda-forge-pinning 2022.09.02.10.01.46
…nda-forge-pinning 2023.05.23.18.17.57
…nda-forge-pinning 2023.05.23.18.17.57
Co-authored-by: Mark Kittisopikul <[email protected]>
Co-authored-by: Mark Kittisopikul <[email protected]>
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 ( |
@MilesCranmer Could you try the canonical build just to see if that succeeds first?
|
I haven't had issues before when building directly (including 1.9.0). If it is a clue, when it freezes at const POW10_OFFSET_2, MIN_BLOCK_2, POW10_SPLIT_2 = generateinversetables() It looks like function generateinversetables()
POW10_OFFSET_2 = Vector{UInt16}(undef, 68 + 1)
MIN_BLOCK_2 = fill(0xff, 68 + 1)
POW10_SPLIT_2 = Tuple{UInt64, UInt64, UInt64}[]
lowerCutoff = big(1) << (54 + 8)
for idx = 0:67
POW10_OFFSET_2[idx + 1] = length(POW10_SPLIT_2)
i = 0
while true
v = ((big(10)^(9 * (i + 1)) >> (-(120 - 16 * idx))) % (big(10)^9) << (120 + 16))
if MIN_BLOCK_2[idx + 1] == 0xff && ((v * lowerCutoff) >> 128) == 0
i += 1
continue
end
if MIN_BLOCK_2[idx + 1] == 0xff
MIN_BLOCK_2[idx + 1] = i
end
v == 0 && break
push!(POW10_SPLIT_2, ((v & BIG_MASK) % UInt64, ((v >> 64) & BIG_MASK) % UInt64, ((v >> 128) & BIG_MASK) % UInt64))
i += 1
end
end
POW10_OFFSET_2[end] = length(POW10_SPLIT_2)
MIN_BLOCK_2[end] = 0x00
return POW10_OFFSET_2, MIN_BLOCK_2, POW10_SPLIT_2
end No clue why. Maybe it's some MPFR bug on macOS?? Are we using the latest MPFR? |
Julia 1.9.0 is expecting mpfr version 4.1.1: conda-forge is supplying MPFR 4.2.0. |
Thanks. Weirdly even after I set it to 4.1.1 in the
when running |
Getting a headache from these build errors so going to step away from a bit... feel free to push to my branch! |
@MilesCranmer no rush! Some quick feedback: we mostly only edit meta.yaml and build.sh in these feedstocks. If you're editing something else, you're likely doing something way too advanced. Hence, your mpfr edit didn't go through. I will push an edit to fix it for you. I will try to trigger a build locally once I edit the PR. |
@conda-forge-admin, please rerender. |
…nda-forge-pinning 2023.06.02.01.11.56
…nda-forge-pinning 2023.06.02.01.11.56
Update: This is the farthest I got this build locally ever.
|
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/julia-feedstock/actions/runs/5151721471. |
Congratulations everyone, Julia builds fine natively with conda-forge. Sadly, the build is broken for now.
|
The broken Julia osx-arm build is available at https://anaconda.org/ngam/julia if you'd like to test it (conda install Julia -c ngam -c conda-forge) |
Okay, actually good news! The only issue we have is a signature issue. See JuliaLang/julia#44502. Locally, I fixed it with |
|
We likely need something like to fix this
|
I will try to clean up this PR over the weekend and see what we really need to do get osx-arm working. There're a lot of pieces floating around in this PR. We are very close. Good job, @mkitti and @MilesCranmer for being patient and persistent! |
@MilesCranmer if you could do us a favor by testing the "broken" build I have with a real application, that will be great. Here are the steps on osx-arm:
This build passes the random tests I tried, so I think it's all good. |
> otool -L /Users/mcranmer/mambaforge/envs/julia/bin/julia
/Users/mcranmer/mambaforge/envs/julia/bin/julia:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)
@rpath/libjulia.1.dylib (compatibility version 1.0.0, current version 1.9.0)
> nm /Users/mcranmer/mambaforge/envs/julia/bin/julia
0000000100008010 d __dyld_private
0000000100000000 T __mh_execute_header
U _exit
U _jl_load_repl
0000000100003f60 T _main
U dyld_stub_binder |
Wait, I was being dumb, sorry. I had uninstalled and reinstalled and forgot to re-run the
|
I'm running the integration tests of SymbolicRegression.jl which do a bunch of heavy multiprocessing. Should be a good test if there are any segfaults lurking somewhere. |
Do |
Tests are still running for SymbolicRegression.jl; I wonder if some library got installed as the Rosetta version (I noticed openspecfun doesn't have an aarch64 version). Currently I see this:
I'm not sure if it's fatal yet. |
I'm seeing some Bus errors on the LinearAlgebra.jl tests as well:
(This is the |
I wonder if we run those tests in isolation if this is reproducible. My guess is that this might only occur if this is run as part of the larger test suite. |
With a couple patches added to #224, to prevent infinite precompilation, and to output more debugging info.