Skip to content
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

Upstream changes break GeoArrays #146

Closed
veddox opened this issue Oct 12, 2023 · 1 comment · Fixed by #147
Closed

Upstream changes break GeoArrays #146

veddox opened this issue Oct 12, 2023 · 1 comment · Fixed by #147

Comments

@veddox
Copy link

veddox commented Oct 12, 2023

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
Copy link
Owner

evetion commented Oct 12, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants