JuliaMath / Interpolations.jl

Fast, continuous interpolation of discrete datasets in Julia
http://juliamath.github.io/Interpolations.jl/
Other
523 stars 110 forks source link

Unitful missing from dependency list #538

Closed btmit closed 1 year ago

btmit commented 1 year ago

Having Unitful as a hidden dependency breaks sysimg creation as soon as you move that sysimg. It appears to be looking for an absolute path at runtime.

┌ Warning: Error requiring `Unitful` from `Interpolations`
│   exception =
│    IOError: stat("/root/.julia/packages/Interpolations/nDwIa/src/requires/unitful.jl"): permission denied (EACCES)
│    Stacktrace:
│      [1] uv_error
│        @ ./libuv.jl:97 [inlined]
│      [2] stat(path::String)
│        @ Base.Filesystem ./stat.jl:152
│      [3] isfile(path::String)
│        @ Base.Filesystem ./stat.jl:456
│      [4] top-level scope
│        @ /root/.julia/packages/Requires/Z8rfN/src/Requires.jl:37
│      [5] eval
│        @ ./boot.jl:368 [inlined]
│      [6] eval
│        @ /root/.julia/packages/Interpolations/nDwIa/src/Interpolations.jl:1 [inlined]
│      [7] (::Interpolations.var"#88#91")()
│        @ Interpolations /root/.julia/packages/Requires/Z8rfN/src/require.jl:101
│      [8] macro expansion
│        @ ./timing.jl:382 [inlined]
│      [9] err(f::Any, listener::Module, modname::String, file::String, line::Any)
│        @ Requires /root/.julia/packages/Requires/Z8rfN/src/require.jl:47
│     [10] (::Interpolations.var"#87#90")()
│        @ Interpolations /root/.julia/packages/Requires/Z8rfN/src/require.jl:100
│     [11] withpath(f::Any, path::String)
│        @ Requires /root/.julia/packages/Requires/Z8rfN/src/require.jl:37
│     [12] (::Interpolations.var"#86#89")()
│        @ Interpolations /root/.julia/packages/Requires/Z8rfN/src/require.jl:99
│     [13] listenpkg(f::Any, pkg::Base.PkgId)
│        @ Requires /root/.julia/packages/Requires/Z8rfN/src/require.jl:20
│     [14] macro expansion
│        @ /root/.julia/packages/Requires/Z8rfN/src/require.jl:98 [inlined]
│     [15] __init__()
│        @ Interpolations /root/.julia/packages/Interpolations/nDwIa/src/Interpolations.jl:453
└ @ Requires /root/.julia/packages/Requires/Z8rfN/src/require.jl:51

Note this was built in Docker (hence root user name) and moved to another system where it is errors.

mkitti commented 1 year ago

It's an optional dependency. Is Unitful loaded in the environment?

btmit commented 1 year ago

No, it doesn't appear to be.

mkitti commented 1 year ago

Package native code caching in Julia 1.9 should decrease the need to build a system image.

We should be able to remove the Requires.jl based mechanism when package extensions land which might also be Julia 1.9.

For pre-Julia 1.9, I think this might be a Requires.jl issue.