JuliaLinearAlgebra / Preconditioners.jl

A few preconditioners for iterative solvers.
https://julialinearalgebra.github.io/Preconditioners.jl/
Other
50 stars 11 forks source link

Pkg.add("Preconditioners") throws error #3

Closed MaximilianJHuber closed 5 years ago

MaximilianJHuber commented 5 years ago
import Pkg; Pkg.add("Preconditioners")

throws on Julia 1.0.3:

  Updating registry at `C:\Users\Max\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
[1mFetching: [========================================>]  100.0 %.0 % [======================>                  ]  54.6 %]  98.9 % Resolving package versions...
 Installed LimitedLDLFactorizations ─ v0.2.0
 Installed AlgebraicMultigrid ─────── v0.2.1
 Installed FillArrays ─────────────── v0.4.0
 Installed Preconditioners ────────── v0.2.0
 Installed LazyArrays ─────────────── v0.5.1
 Installed Cassette ───────────────── v0.2.0
  Updating `C:\Users\Max\.julia\environments\v1.0\Project.toml`
  [af69fa37] + Preconditioners v0.2.0
  Updating `C:\Users\Max\.julia\environments\v1.0\Manifest.toml`
  [2169fc97] + AlgebraicMultigrid v0.2.1
  [7057c7e9] ↑ Cassette v0.1.4 ⇒ v0.2.0
  [1a297f60] ↑ FillArrays v0.3.0 ⇒ v0.4.0
  [5078a376] ↑ LazyArrays v0.5.0 ⇒ v0.5.1
  [f5a24dde] + LimitedLDLFactorizations v0.2.0
  [af69fa37] + Preconditioners v0.2.0
  Building Preconditioners → `C:\Users\Max\.julia\packages\Preconditioners\UQvId\deps\build.log`
┌ Error: Error building `Preconditioners`: 
│ ERROR: LoadError: UndefVarError: Pkg not defined
│ Stacktrace:
│  [1] top-level scope at none:0
│  [2] include at .\boot.jl:317 [inlined]
│  [3] include_relative(::Module, ::String) at .\loading.jl:1044
│  [4] include(::Module, ::String) at .\sysimg.jl:29
│  [5] include(::String) at .\client.jl:392
│  [6] top-level scope at none:0
│ in expression starting at C:\Users\Max\.julia\packages\Preconditioners\UQvId\deps\build.jl:1
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Pkg\src\Operations.jl:1097

build.jl also calls Pkg.clone, which should be changed, because:

┌ Warning: Pkg.clone is only kept for legacy CI script reasons, please use `add`
└ @ Pkg.API C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.0\Pkg\src\API.jl:468
mohamed82008 commented 5 years ago

The Pkg error is a Julia 1.0 question, not specific to this package. You need using Pkg before calling Pkg.xxx. The other point is valid. This build.jl file is not needed at all, and should have been removed in the previous release. Thanks for pointing it out.

MaximilianJHuber commented 5 years ago

Thank you!

import Pkg; Pkg.add("Preconditioners") is what the REPL suggests when using an package that is not installed.