Upstream changes break GeoArrays
veddox opened this issue · 1 comments
veddox commented
Problem description
GeoArrays no longer compiles due to breaking changes upstream (JuliaEarth/GeoStatsBase.jl#174).
The problem lies in the use of the internal library GeoStatsBase
in interpolate.jl
, which has recently been reorganised.
Workaround
Fixing TableTransforms.jl
at 1.15.0 allows compilation again, but is obviously not a long-term solution.
Instead of using GeoStatsBase
, the main library GeoStats.jl
should be used.
Stacktrace
julia> using GeoArrays
[ Info: Precompiling GeoArrays [2fb1d81b-e6a0-5fc5-82e6-8e06903437ab]
WARNING: could not import TableTransforms.ColSpec into GeoStatsBase
WARNING: could not import TableTransforms.Col into GeoStatsBase
WARNING: could not import TableTransforms.colspec into GeoStatsBase
WARNING: could not import TableTransforms.choose into GeoStatsBase
ERROR: LoadError: UndefVarError: `ColSpec` not defined
Stacktrace:
[1] top-level scope
@ ~/.julia/packages/GeoStatsBase/hN0RT/src/transforms/detrend.jl:5
[2] include(mod::Module, _path::String)
@ Base ./Base.jl:457
[3] include(x::String)
@ GeoStatsBase ~/.julia/packages/GeoStatsBase/hN0RT/src/GeoStatsBase.jl:5
[4] top-level scope
@ ~/.julia/packages/GeoStatsBase/hN0RT/src/transforms.jl:14
[5] include(mod::Module, _path::String)
@ Base ./Base.jl:457
[6] include(x::String)
@ GeoStatsBase ~/.julia/packages/GeoStatsBase/hN0RT/src/GeoStatsBase.jl:5
[7] top-level scope
@ ~/.julia/packages/GeoStatsBase/hN0RT/src/GeoStatsBase.jl:56
[8] include
@ ./Base.jl:457 [inlined]
[9] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
@ Base ./loading.jl:2049
[10] top-level scope
@ stdin:3
in expression starting at ~/.julia/packages/GeoStatsBase/hN0RT/src/transforms/detrend.jl:5
in expression starting at ~/.julia/packages/GeoStatsBase/hN0RT/src/transforms.jl:14
in expression starting at ~/.julia/packages/GeoStatsBase/hN0RT/src/GeoStatsBase.jl:5
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile GeoStatsBase [323cb8eb-fbf6-51c0-afd0-f8fba70507b2] to "~/.julia/compiled/v1.9/GeoStatsBase/jl_OK8pRv".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base ./loading.jl:2300
[3] compilecache
@ ./loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:1660
[6] macro expansion
@ ./loading.jl:1648 [inlined]
[7] macro expansion
@ ./lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base ./loading.jl:1611
[9] include(mod::Module, _path::String)
@ Base ./Base.jl:457
[10] include(x::String)
@ GeoArrays ~/.julia/packages/GeoArrays/Is81p/src/GeoArrays.jl:1
[11] top-level scope
@ ~/.julia/packages/GeoArrays/Is81p/src/GeoArrays.jl:17
[12] include
@ ./Base.jl:457 [inlined]
[13] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
@ Base ./loading.jl:2049
[14] top-level scope
@ stdin:3
in expression starting at ~/.julia/packages/GeoArrays/Is81p/src/interpolate.jl:1
in expression starting at ~/.julia/packages/GeoArrays/Is81p/src/GeoArrays.jl:1
in expression starting at stdin:3
ERROR: Failed to precompile GeoArrays [2fb1d81b-e6a0-5fc5-82e6-8e06903437ab] to "~/.julia/compiled/v1.9/GeoArrays/jl_eJEmzF".
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base ./loading.jl:2300
[3] compilecache
@ ./loading.jl:2167 [inlined]
[4] _require(pkg::Base.PkgId, env::String)
@ Base ./loading.jl:1805
[5] _require_prelocked(uuidkey::Base.PkgId, env::String)
@ Base ./loading.jl:1660
[6] macro expansion
@ ./loading.jl:1648 [inlined]
[7] macro expansion
@ ./lock.jl:267 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base ./loading.jl:1611
evetion commented
Thanks for the report!
The GeoStatsBase updates went pretty quick in the last month, I wasn't able to make it compatible yet. I'll try to make GeoStats(Base) into a package extension.