Package Installation Failing April 2020 - JuliaDB, OnlineStats

Seems like error has something to do with JuliaDB, OnlineStats, but not sure.

Just execute below code:

using Pkg
Pkg.add(“CSV”)
Pkg.add(“DataFrames”)
Pkg.add(“HTTP”)
Pkg.add(“JSON”)
Pkg.add(“JuliaDB”)
Pkg.add(“MbedTLS”)
using CSV
using JuliaDB
using HTTP
using JSON
using Dates
@info VERSION
@info Pkg.installed()

You should get below exceptions. We are running LTS version 1.0.5 on production, the issue is also coming with latest version 1.4.1

┌ Warning: Use of Poly from v1.0 forward will require using Polynomials.PolyCompat
│ caller = Polynomials.PolyCompat.Poly(::Array{Double64,1}) at Poly.jl:26
└ @ Polynomials.PolyCompat ~/.julia/packages/Polynomials/ghqdF/src/polynomials/Poly.jl:26
WARNING: could not import LearnBase.fit! into OnlineStats
WARNING: could not import LearnBase.nobs into OnlineStats
WARNING: could not import LearnBase.predict into OnlineStats
WARNING: could not import LearnBase.addgrad! into PenaltyFunctions
WARNING: could not import LearnBase.scaled into PenaltyFunctions
ERROR: LoadError: LoadError: UndefVarError: ScaledDistanceLoss not defined
Stacktrace:
[1] getproperty(::Module, ::Symbol) at ./Base.jl:26
[2] top-level scope at /home/zettaapps/.julia/packages/OnlineStats/iY7aT/src/stats/statlearn.jl:156
[3] include(::Module, ::String) at ./Base.jl:377
[4] include(::String) at /home/zettaapps/.julia/packages/OnlineStats/iY7aT/src/OnlineStats.jl:1
[5] top-level scope at /home/zettaapps/.julia/packages/OnlineStats/iY7aT/src/OnlineStats.jl:61
[6] include(::Module, ::String) at ./Base.jl:377
[7] top-level scope at none:2
[8] eval at ./boot.jl:331 [inlined]
[9] eval(::Expr) at ./client.jl:449
[10] top-level scope at ./none:3
in expression starting at /home/zettaapps/.julia/packages/OnlineStats/iY7aT/src/stats/statlearn.jl:156
in expression starting at /home/zettaapps/.julia/packages/OnlineStats/iY7aT/src/OnlineStats.jl:61
ERROR: LoadError: Failed to precompile OnlineStats [a15396b6-48d5-5d58-9928-6d29437db91e] to /home/zettaapps/.julia/compiled/v1.4/OnlineStats/G3mU6_FyvLN.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
[6] include(::Module, ::String) at ./Base.jl:377
[7] top-level scope at none:2
[8] eval at ./boot.jl:331 [inlined]
[9] eval(::Expr) at ./client.jl:449
[10] top-level scope at ./none:3
in expression starting at /home/zettaapps/.julia/packages/JuliaDB/7cG1k/src/JuliaDB.jl:21
ERROR: LoadError: Failed to precompile JuliaDB [a93385a2-3734-596a-9a66-3cfbb77141e6] to /home/zettaapps/.julia/compiled/v1.4/JuliaDB/4FA8g_FyvLN.ji.
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1272
[3] _require(::Base.PkgId) at ./loading.jl:1029
[4] require(::Base.PkgId) at ./loading.jl:927
[5] require(::Module, ::Symbol) at ./loading.jl:922
[6] include(::Module, ::String) at ./Base.jl:377
[7] exec_options(::Base.JLOptions) at ./client.jl:288
[8] _start() at ./client.jl:484

A LearnBase release broke a few things. I think you can update OnlineStatsBase, which has an upper bound for LearnBase, or you can pin LearnBase at 0.3.

Is JuliaDB still maintained? Any plan of improving its performance?

Thank you so much @joshday, this worked! Here is the updated script, just in case anyone hit the same issue.

using Pkg
Pkg.add(Pkg.PackageSpec(;name=“LearnBase”, version=“0.3”))
Pkg.add(“CSV”)
Pkg.add(“DataFrames”)
Pkg.add(“HTTP”)
Pkg.add(“JSON”)
Pkg.add(“JuliaDB”)
Pkg.add(“MbedTLS”)
using CSV
using JuliaDB
using HTTP
using JSON
using Dates
@info VERSION
@info Pkg.installed()

@joshday - I am sorry, but now (today = 5/12/2020, 5th May 2020) getting this on Julia TLS (1.0.5) version. It’s our production environment. Help please!!

ERROR: LoadError: Unsatisfiable requirements detected for package DataFrames [a93c6f00]:
DataFrames [a93c6f00] log:
├─possible versions are: [0.11.7, 0.12.0, 0.13.0-0.13.1, 0.14.0-0.14.1, 0.15.0-0.15.2, 0.16.0, 0.17.0-0.17.1, 0.18.0-0.18.4, 0.19.0-0.19.4, 0.20.0-0.20.2, 0.21.0] or uninstalled
├─restricted to versions 0.19.4 by an explicit requirement, leaving only versions 0.19.4
└─restricted by compatibility requirements with CSV [336ed68f] to versions: 0.21.0 — no versions left
└─CSV [336ed68f] log:
├─possible versions are: [0.3.0-0.3.1, 0.4.0-0.4.3, 0.5.0-0.5.26, 0.6.0-0.6.2] or uninstalled
└─restricted to versions 0.6.2 by an explicit requirement, leaving only versions 0.6.2

That looks unrelated to the problem from before.

Looks like something is holding back DataFrames, but CSV requires the latest version.

hmm, in that case, let me create a separate issue. Thanks @joshday