Make Julia 1.11 work, fix #951
Implement suggestion from #951
The tests for macOS still fail for reasons that I do not understand. Could some have a look at the error messages who knows macOS better than me?
Thanks for doing the PR!
I am a bit puzzled: To my understanding the code change in embedding_wrapper.c should not have any influence on Julia <= 1.10. Has it really worked before your PR or is the CI failing on macOS a different issue independent of the 1.11 change?
CI fails since May 2023, since this commit: https://github.com/JuliaLang/PackageCompiler.jl/commit/33428b2d9c9daf71bbc478a18385358e1b61a137 Would still be nice to understand and fix the CI failures.
Yes, that would be nice. But I suggest that we track that in a different topic.
`$(get_julia_cmd()) --sysimage=$sysimage -e 'using Pkg; Pkg.precompile()'`
probably has a non-zero return value when run, but without access to a macOS Julia installation that is indeed hard to impossible to debug.
I created a separate issue for the CI failures on Mac: #955
@IanButterworth It looks like you modified this file most recently. Would you be able to review this PR?
Thanks @topolarity!
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 84.56%. Comparing base (
0e04008) to head (7f15dda). Report is 1 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #954 +/- ##
=======================================
Coverage 84.56% 84.56%
=======================================
Files 3 3
Lines 823 823
=======================================
Hits 696 696
Misses 127 127
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
The Julia 1.11 CI seems to be failing on all platforms. For example, look at this CI log, which is Julia 1.11, 64-bit, on Linux. (I've removed the verbose listing of all the environment variables in the active process.)
error during bootstrap:
LoadError("/tmp/jl_3Qidyp/sysimage_packagecompiler_bfb1e672-8b81-11ef-3d17-c7f4e932fd41.jl", 57, LoadError("/opt/hostedtoolcache/julia/1.11.0/x64/share/julia/stdlib/v1.11/Pkg/src/Pkg.jl", 3, LoadError("/opt/hostedtoolcache/julia/1.11.0/x64/share/julia/stdlib/v1.11/Pkg/src/precompile.jl", 101, Base.IOError("could not spawn setenv(
'' a registries/Registry.tar.gz -tgzip registries/Registry.tar,[ ... env vars ...]): permission denied (EACCES)", -13))))_spawn_primitive at ./process.jl:140
_spawn at ./process.jl:157 [inlined]
@staticfloat To me, it looks like we are hitting this line in Pkg.jl's precompile.jl file:
https://github.com/JuliaLang/Pkg.jl/blob/27c1b1ee5cf15571eb5e54707e812d646ac1dde3/src/precompile.jl#L86-L86
cmd = `$(Pkg.PlatformEngines.exe7z()) a "registries/Registry.tar.gz" -tgzip "registries/Registry.tar"`
But it seems like Pkg.PlatformEngines.exe7z() is returning an empty string?
I've opened a separate issue for the bug that is causing Julia 1.11 CI to fail here: #976
Alright, for now, let's skip the incremental=false tests on Julia 1.11.
Okay, that change (skipping the incremental=false tests on Julia 1.11) seems to have fixed CI.
Once CI has finished running and is all green, I'll merge this PR and make a new release.