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

Installation results in multiple errors with Julia 1.7.3 #174

Closed
mhechthz opened this issue Aug 5, 2022 · 14 comments
Closed

Installation results in multiple errors with Julia 1.7.3 #174

mhechthz opened this issue Aug 5, 2022 · 14 comments

Comments

@mhechthz
Copy link

mhechthz commented Aug 5, 2022

When I call Pkg.add("LinearSolve") I get a long list of errors. Pkg.precompile() results in:

julia>  Pkg.precompile()
Precompiling project...
  ✗ CpuId
  ✗ KrylovKit
  ✗ CommonSolve
  ✗ SnoopPrecompile
  ✗ SIMDTypes
  ✗ OffsetArrays
  ✗ ArrayInterfaceStaticArraysCore
  ✗ BitTwiddlingConvenienceFunctions
  ✗ CloseOpenIntervals
  ✗ SuiteSparse_jll
  ✗ CPUSummary
  ✗ ArrayInterfaceOffsetArrays
  ✗ ArrayInterfaceStaticArrays
  ✗ RecursiveArrayTools
  ✗ HostCPUFeatures
  ✗ KLU
  ✗ PolyesterWeave
  ✗ LayoutPointers
  ✗ SciMLBase
  ✗ StrideArraysCore
  ✗ VectorizationBase
  ✗ SLEEFPirates
  ✗ Polyester
  ✗ SIMDDualNumbers
  ✗ LoopVectorization
  ✗ TriangularSolve
  ✗ RecursiveFactorization
  ✗ LinearSolve
  3 dependencies successfully precompiled in 9 seconds (334 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae]

Failed to precompile LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae] to C:\Users\di29394\.julia\compiled\v1.7\LinearSolve\jl_186A.tmp.
ERROR: LoadError: Failed to precompile RecursiveFactorization [f2c3362d-daeb-58d1-803e-2bc74f2840b4] to C:\Users\di29394\.julia\compiled\v1.7\RecursiveFactorization\jl_18C5.tmp.
Stacktrace:
  [1] error(s::String)
    @ Base .\error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base .\loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base .\loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base .\loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base .\loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base .\loading.jl:997
  [7] include
    @ .\Base.jl:418 [inlined]
  [8] 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:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ .\boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude .\client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at C:\Users\di29394\.julia\packages\LinearSolve\6EHIU\src\LinearSolve.jl:1
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types D:\bin\Julia\share\julia\stdlib\v1.7\Pkg\src\Types.jl:68
 [2] precompile(ctx::Pkg.Types.Context; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API D:\bin\Julia\share\julia\stdlib\v1.7\Pkg\src\API.jl:1362
 [3] precompile
   @ D:\bin\Julia\share\julia\stdlib\v1.7\Pkg\src\API.jl:1013 [inlined]
 [4] #precompile#220
   @ D:\bin\Julia\share\julia\stdlib\v1.7\Pkg\src\API.jl:1011 [inlined]
 [5] precompile()
   @ Pkg.API D:\bin\Julia\share\julia\stdlib\v1.7\Pkg\src\API.jl:1011
 [6] top-level scope
   @ REPL[3]:1

@ChrisRackauckas
Copy link
Member

Looks like it's just a RecursiveFactorization thing @chriselrod .

Did you use the binaries downloaded from https://julialang.org/downloads/ ?

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

No, I just called Pkg.add("LinearSolve"). I have another computer where it works without any problems, so maybe there are some issues with another library?!

@ChrisRackauckas
Copy link
Member

No, it's throwing an error with the RecursiveFactorization.jl dependency. You can recreate your error without ever installing LinearSolve.jl.

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

Oh, I'll check this out. The error came with installing LinearSolve, but maybe it is not the origin.

@ChrisRackauckas
Copy link
Member

I'm just reading the error message.

Failed to precompile LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae] to C:\Users\di29394\.julia\compiled\v1.7\LinearSolve\jl_186A.tmp.
ERROR: LoadError: Failed to precompile RecursiveFactorization [f2c3362d-daeb-58d1-803e-2bc74f2840b4] to C:\Users\di29394\.julia\compiled\v1.7\RecursiveFactorization\jl_18C5.tmp.

using LinearSolve does using RecursiveFactorization which fails, so your error can be reduced to just using RecursiveFactorization. But then looking at your failures, it is just a failure of LoopVectorization, which usually happens from having an incorrect Julia installation.

So did you use the binaries downloaded from https://julialang.org/downloads/ ?

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

Yes, I downloaded Julia from https://julialang.org/downloads/ and before installing LinearSolve there was no error.

@ChrisRackauckas
Copy link
Member

And so now you tried using RecursiveFactorization and using LoopVectorization to hone in on it?

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

Well, I'm new to Julia and try out some packages.

@chriselrod
Copy link
Contributor

And so now you tried using RecursiveFactorization and using LoopVectorization to hone in on it?

Yes, these will probably give better error messages.
If they give errors blaming some other package, please using them, too (and keep going).

@chriselrod
Copy link
Contributor

chriselrod commented Aug 5, 2022

Well, I'm new to Julia and try out some packages.

That's okay, but please understand that "RecursiveFactorization didn't work" isn't helpful or actionable for us, because it does work for us.
Thus we need a lot more information before we can do more than wildly shoot into the dark, let alone try and fix the problem for you.

If you can add and using LinearSolve, it should be straightforward to do the same thing for RecursiveFactorization and LoopVectorization.

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

Hmmm ... I tried out some packages, that worked and after installing LinearSolve there are error messages as shown above. So what can a user better do than posting the error poutput?
There was an error and Julia says "do call Pkg.precompile() for more information" and that was what I did.

@ChrisRackauckas
Copy link
Member

Did you restart your session after updating the packages? If you were using a package and then it got updated and changed its binaries, it can be helpful to restart.

julia>  Pkg.precompile()
Precompiling project...
  ✗ CpuId
  ✗ KrylovKit
  ✗ CommonSolve
  ✗ SnoopPrecompile
  ✗ SIMDTypes
  ✗ OffsetArrays
  ✗ ArrayInterfaceStaticArraysCore
  ✗ BitTwiddlingConvenienceFunctions
  ✗ CloseOpenIntervals
  ✗ SuiteSparse_jll
  ✗ CPUSummary
  ✗ ArrayInterfaceOffsetArrays
  ✗ ArrayInterfaceStaticArrays
  ✗ RecursiveArrayTools
  ✗ HostCPUFeatures
  ✗ KLU
  ✗ PolyesterWeave
  ✗ LayoutPointers
  ✗ SciMLBase
  ✗ StrideArraysCore
  ✗ VectorizationBase
  ✗ SLEEFPirates
  ✗ Polyester
  ✗ SIMDDualNumbers
  ✗ LoopVectorization
  ✗ TriangularSolve
  ✗ RecursiveFactorization
  ✗ LinearSolve
  3 dependencies successfully precompiled in 9 seconds (334 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

LinearSolve [7ed4a6bd-45f5-4d41-b270-4a48e9bafcae]

What this is showing you is not necessarily that LinearSolve.jl failed, but that the packages which LinearSolve.jl uses failed to load and precompile.

@mhechthz
Copy link
Author

mhechthz commented Aug 5, 2022

I'm a little embarrassed now, but after removing LinearSolve, restarting Julia and reinstalling LinearSolve (I wanted to doublecheck what I did and doing some more screenshots) now all installs without any problem.

So I'm afraid we cannot learn anything, can we?

Probably I should have restarted Julia after installing other Packages ...

@ChrisRackauckas
Copy link
Member

When you update your packages, it's usually a good idea to restart your session because the binaries and precompilation caches need to be invalidated. Especially on Windows where if these files are open, nothing can write to them because of permissions issues, so you need to restart Julia for it to redo the compilations (on Windows).

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

No branches or pull requests

3 participants