-
Notifications
You must be signed in to change notification settings - Fork 54
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
Fix issue with __init__
when built in sysimg
#589
Conversation
Hmm, that's not great, because it will mean that if you build multiple sysimages with different GPUCompiler.jl versions, the compiled artifacts will alias. In the case of PackageCompiler.jl apps, I assume the depot will be unique to the package, with with regular sysimages this can definitely happen. @KristofferC Is there a way to query the version of a package (i.e. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #589 +/- ##
==========================================
- Coverage 74.75% 72.74% -2.02%
==========================================
Files 24 24
Lines 3414 3386 -28
==========================================
- Hits 2552 2463 -89
- Misses 862 923 +61 ☔ View full report in Codecov by Sentry. |
How about we move the |
|
That sounds reasonable, but doing during precompilation sounds like there may be corner cases too. I'll have a closer look tomorrow, maybe we should just look in |
I cannot reproduce the underlying issue in isolation. ❯ jl --project
(test) pkg> add Example PackageCompiler
julia> using Example, PackageCompiler
julia> PackageCompiler.create_sysimage(["Example"]; sysimage_path="example-sysimage.so")
❯ jl --project -e 'using Example; @show pkgversion(Example)'
pkgversion(Example) = v"0.5.3"
❯ jl --sysimage=example-sysimage.so --project -e 'using Example; @show pkgversion(Example)'
pkgversion(Example) = v"0.5.3" Or even using GPUCompiler: julia> PackageCompiler.create_sysimage(["GPUCompiler"]; sysimage_path="gpucompiler-sysimage.so")
❯ jl --sysimage=gpucompiler-sysimage.so -e 'using GPUCompiler; @show GPUCompiler.compile_cache'
GPUCompiler.compile_cache = "/home/tim/.julia/scratchspaces/61eb1bfa-7361-4325-ad38-22787b887f55/compiled/v1.10/v0.26" |
How about if you delete the |
Still works fine:
|
Okay but how. Looking at and if the project file doesn't exist it seems it should return Why does calling |
It shouldn't. I'm wasn't suggesting the proposed workaround of putting the call to I was just trying to validate the 'workaround', but if @sjkelly has observed that this fixes his issue, this is fine for me. |
see: JuliaLang/PackageCompiler.jl#896