Error when installing the DifferentialEquations package

I want to transition from Matlab to Julia and I am trying to install the DifferentialEquations package. I am getting an error which I am not certain how to fix. Here is the error message

[ Info: Precompiling DifferentialEquations [0c46a032-eb83-5123-abaf-570d42b7fbaa]
ERROR: LoadError: could not load symbol "dgbmv_64_":
/usr/bin/../lib/julia/libblas64.so: undefined symbol: dgbmv_64_
Stacktrace:
  [1] gbmv!(trans::Char, m::Int64, n::Int64, kl::Int64, ku::Int64, alpha::Float64, A::Ptr{Float64}, st::Int64, x::Ptr{Float64}, incx::Int64, beta::Float64, y::Ptr{Float64}, incy::Int64)
    @ BandedMatrices ~/.julia/packages/BandedMatrices/H3m6f/src/blas.jl:19
  [2] A11_Btop_Ctop_gbmv!
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/banded/gbmm.jl:39 [inlined]
  [3] _gbmm!(α::Float64, A_data::Matrix{Float64}, B_data::Matrix{Float64}, β::Float64, C_data::SubArray{Float64, 2, Matrix{Float64}, Tuple{UnitRange{Int64}, Base.Slice{Base.OneTo{Int64}}}, false}, ::Tuple{Int64, Int64, Int64}, ::Tuple{Int64, Int64}, ::Tuple{Int64, Int64}, ::Tuple{Int64, Int64})
    @ BandedMatrices ~/.julia/packages/BandedMatrices/H3m6f/src/banded/gbmm.jl:305
  [4] gbmm!(tA::Char, tB::Char, α::Float64, A::BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}, B::BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}, β::Float64, C::BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}})
    @ BandedMatrices ~/.julia/packages/BandedMatrices/H3m6f/src/banded/gbmm.jl:288
  [5] _banded_muladd!
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/generic/matmul.jl:179 [inlined]
  [6] materialize!
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/generic/matmul.jl:187 [inlined]
  [7] muladd!
    @ ~/.julia/packages/ArrayLayouts/4IG3b/src/muladd.jl:70 [inlined]
  [8] copyto!
    @ ~/.julia/packages/ArrayLayouts/4IG3b/src/muladd.jl:77 [inlined]
  [9] copy(M::ArrayLayouts.MulAdd{BandedMatrices.BandedColumns{ArrayLayouts.DenseColumnMajor}, BandedMatrices.BandedColumns{ArrayLayouts.DenseColumnMajor}, ArrayLayouts.ZerosLayout, Float64, BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}, BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}, FillArrays.Zeros{Float64, 2, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}})
    @ ArrayLayouts ~/.julia/packages/ArrayLayouts/4IG3b/src/muladd.jl:72
 [10] copy
    @ ~/.julia/packages/ArrayLayouts/4IG3b/src/mul.jl:119 [inlined]
 [11] materialize
    @ ~/.julia/packages/ArrayLayouts/4IG3b/src/mul.jl:116 [inlined]
 [12] mul
    @ ~/.julia/packages/ArrayLayouts/4IG3b/src/mul.jl:117 [inlined]
 [13] *(A::BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}}, B::BandedMatrices.BandedMatrix{Float64, Matrix{Float64}, Base.OneTo{Int64}})
    @ ArrayLayouts ~/.julia/packages/ArrayLayouts/4IG3b/src/mul.jl:204
 [14] macro expansion
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/precompile.jl:8 [inlined]
 [15] macro expansion
    @ ~/.julia/packages/SnoopPrecompile/1XXT1/src/SnoopPrecompile.jl:62 [inlined]
 [16] macro expansion
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/precompile.jl:6 [inlined]
 [17] top-level scope
    @ ~/.julia/packages/SnoopPrecompile/1XXT1/src/SnoopPrecompile.jl:119
 [18] include(x::String)
    @ BandedMatrices ~/.julia/packages/BandedMatrices/H3m6f/src/BandedMatrices.jl:1
 [19] top-level scope
    @ ~/.julia/packages/BandedMatrices/H3m6f/src/BandedMatrices.jl:91
 [20] top-level scope
    @ stdin:1
in expression starting at /home/vidianos/.julia/packages/BandedMatrices/H3m6f/src/precompile.jl:3
in expression starting at /home/vidianos/.julia/packages/BandedMatrices/H3m6f/src/BandedMatrices.jl:1
in expression starting at stdin:1
ERROR: LoadError: Failed to precompile BandedMatrices [aae01518-5342-5314-be14-df237901396f] to /home/vidianos/.julia/compiled/v1.8/BandedMatrices/jl_vWujnw.
Stacktrace:
 [1] top-level scope
   @ stdin:1
in expression starting at /home/vidianos/.julia/packages/BoundaryValueDiffEq/Fx0Ov/src/BoundaryValueDiffEq.jl:1
in expression starting at stdin:1
ERROR: LoadError: Failed to precompile BoundaryValueDiffEq [764a87c0-6b3e-53db-9096-fe964310641d] to /home/vidianos/.julia/compiled/v1.8/BoundaryValueDiffEq/jl_dMddn7.
Stacktrace:
 [1] top-level scope
   @ stdin:1
in expression starting at /home/vidianos/.julia/packages/DifferentialEquations/yS3VA/src/DifferentialEquations.jl:1
in expression starting at stdin:1
ERROR: Failed to precompile DifferentialEquations [0c46a032-eb83-5123-abaf-570d42b7fbaa] to /home/vidianos/.julia/compiled/v1.8/DifferentialEquations/jl_UuH7Qw.

I am using the latest version of Julia (1.8.5). Here is the output of versioninfo()

Julia Version 1.8.5
Commit 17cfb8e65e* (2023-01-08 06:45 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: 6 × AMD Ryzen 5 4500U with Radeon Graphics
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, znver2)
  Threads: 1 on 6 virtual cores
Environment:
  JULIA_ERROR_COLOR = red

If there is anything else needed do inform me.

Did you install using a binary downloaded from Download Julia ? Seems weird that BLAS operations seem to be missing, so that smells to me like a bad linux distro build.

I installed julia using pacman (my package manager). The build is definitely not bad though, I have used my current install for over a year without errors. It seemed weird to me as well, but I thought maybe something obvious is wrong and I cant see it.

Oh yup, that’s the Arch Linux build. It’s bad, it uses a wrong unpatched LLVM so it just has numerical issues. Like, there are patches to LLVM that specifically fix numerical issues, and it builds without them :person_shrugging: . And its BLAS build is broken. And… Don’t use it. Use the generic Julia binaries with the correct LLVM build and you’ll be fine.

2 Likes

Oh, I see. Thanks, I willl go download one of those binaries then.