JuliaLinearAlgebra / BLASBenchmarksCPU.jl

Benchmark BLAS Libraries
MIT License
5 stars 2 forks source link

Precompile failed for Gaius in Julia 1.8+ #77

Closed BrandonGroth closed 1 year ago

BrandonGroth commented 1 year ago

After trying to download BLASbenchmarkCPU, I eventually get this error:

julia> using BLASbenchmarkCPU
 │ Package BLASBenchmarksCPU not found, but a package named BLASBenchmarksCPU is available from a registry.
 │ Install package?
 │   (@v1.8) pkg> add BLASBenchmarksCPU
 └ (y/n/o) [y]: y

  ✗ BLASBenchmarksCPU
  147 dependencies successfully precompiled in 86 seconds. 15 already precompiled.
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
[ Info: Precompiling BLASBenchmarksCPU [5fdc822c-4560-4d20-af7e-e5ee461714d5]
ERROR: LoadError: InitError: MethodError: no method matching _print_num_threads_warning(::Static.StaticInt{160}, ::Int64)
Closest candidates are:
  _print_num_threads_warning(::Integer, ::Integer) at ~/.julia/packages/Gaius/xYgac/src/init.jl:12
Stacktrace:
  [1] _print_num_threads_warning()
    @ Gaius ~/.julia/packages/Gaius/xYgac/src/init.jl:9
  [2] __init__()
    @ Gaius ~/.julia/packages/Gaius/xYgac/src/init.jl:2
  [3] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
    @ Base ./loading.jl:831
  [4] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt64)
    @ Base ./loading.jl:1039
  [5] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1315
  [6] _require_prelocked(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1200
  [7] macro expansion
    @ ./loading.jl:1180 [inlined]
  [8] macro expansion
    @ ./lock.jl:223 [inlined]
  [9] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1144
 [10] include
    @ ./Base.jl:419 [inlined]
 [11] 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, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1554
 [12] top-level scope
    @ stdin:1
during initialization of module Gaius
in expression starting at /u/bmgroth/.julia/packages/BLASBenchmarksCPU/VxQHL/src/BLASBenchmarksCPU.jl:1
in expression starting at stdin:1
ERROR: Failed to precompile BLASBenchmarksCPU [5fdc822c-4560-4d20-af7e-e5ee461714d5] to /u/bmgroth/.julia/compiled/v1.8/BLASBenchmarksCPU/jl_7Lr3Al.
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:1707
 [3] compilecache
   @ ./loading.jl:1651 [inlined]
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1337
 [5] _require_prelocked(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1200
 [6] macro expansion
   @ ./loading.jl:1180 [inlined]
 [7] macro expansion
   @ ./lock.jl:223 [inlined]
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1144

Trying to download Gaius also fails:

julia> using Gaius
 │ Package Gaius not found, but a package named Gaius is available from a registry.
 │ Install package?
 │   (@v1.8) pkg> add Gaius
 └ (y/n/o) [y]: y
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `~/.julia/environments/v1.8/Project.toml`
  [bffe22d1] + Gaius v0.6.7
  No Changes to `~/.julia/environments/v1.8/Manifest.toml`
ERROR: InitError: MethodError: no method matching _print_num_threads_warning(::Static.StaticInt{160}, ::Int64)
Closest candidates are:
  _print_num_threads_warning(::Integer, ::Integer) at ~/.julia/packages/Gaius/xYgac/src/init.jl:12
Stacktrace:
 [1] _print_num_threads_warning()
   @ Gaius ~/.julia/packages/Gaius/xYgac/src/init.jl:9
 [2] __init__()
   @ Gaius ~/.julia/packages/Gaius/xYgac/src/init.jl:2
 [3] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
   @ Base ./loading.jl:831
 [4] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt64)
   @ Base ./loading.jl:1039
 [5] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1315
 [6] _require_prelocked(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1200
 [7] macro expansion
   @ ./loading.jl:1180 [inlined]
 [8] macro expansion
   @ ./lock.jl:223 [inlined]
 [9] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1144
during initialization of module Gaius

Someone else reported this issue at their Github page: https://github.com/MasonProtter/Gaius.jl/issues/91

Unfortunately, it looks as though the Gaius project has been abandoned by the author and likely will not be updated according to the Gaius README:

Note: Gaius is not actively maintained and I do not anticipate doing further work on it. However, you may find it useful as a relatively simple playground for learning about the implementation of linear algebra routines.