LoadError: LibraryProduct(...) is not satisfied

I had this issue initially with MbedTLS, mentioned it on Slack, fiddled a lot and it “went away” as far as I could tell. However I now get the same error with Arpack; I don’t know what causes these issues nor how to cleanly deal with it (I’m on Julia 1.3 / mac Sierra).

(edit: this is discussed there too: CodecZLib build fails on Linux and WSL · Issue #170 · JuliaPackaging/BinaryProvider.jl · GitHub)

steps:

(v1.3) pkg> add PDMats
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `~/.julia/environments/v1.3/Project.toml`
  [90014a1f] + PDMats v0.9.7
  Updating `~/.julia/environments/v1.3/Manifest.toml`
 [no changes]

Then

(v1.3) pkg> build PDMats
  Building Arpack → `~/.julia/packages/Arpack/cu5By/deps/build.log`
┌ Error: Error building `Arpack`: 
│ ERROR: LoadError: LibraryProduct(nothing, ["libarpack"], :libarpack, "Prefix(/Users/tlienart/.julia/packages/Arpack/cu5By/deps/usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at ./error.jl:33
│  [2] #write_deps_file#165(::Bool, ::Bool, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at /Users/tlienart/.julia/packages/BinaryProvider/A0sDa/src/Products.jl:419
│  [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at ./tuple.jl:0
│  [4] top-level scope at /Users/tlienart/.julia/packages/Arpack/cu5By/deps/build.jl:74
│  [5] include at ./boot.jl:328 [inlined]
│  [6] include_relative(::Module, ::String) at ./loading.jl:1094
│  [7] include(::Module, ::String) at ./Base.jl:31
│  [8] include(::String) at ./client.jl:432
│  [9] top-level scope at none:5
│ in expression starting at /Users/tlienart/.julia/packages/Arpack/cu5By/deps/build.jl:74
└ @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/backwards_compatible_isolation.jl:647
1 Like

Just searching for exactly the same issue and this popped up posted 3h ago.

In my case I’m trying to build LibCURL 0.5.2 under Julia 1.1.1, pkg 1.1, on Windows 10, and get:

  Building LibCURL → `C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\build.log`
┌ Error: Error building `LibCURL`:
│ [ Info: Downloading https://github.com/bicycle1885/ZlibBuilder/releases/download/v1.0.4/Zlib.v1.2.11.x86_64-w64-mingw32.tar.gz to C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\usr\downloads\Zlib.v1.2.11.x86_64-w64-mingw32.tar.gz...
│ ERROR: LoadError: LoadError: LibraryProduct(nothing, ["libz"], :libz, "Prefix(C:\\Users\\Graham\\.julia\\packages\\LibCURL\\lWJxD\\deps\\usr)") is not satisfied, cannot generate deps.jl!
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #write_deps_file#169(::Bool, ::Bool, ::Function, ::String, ::Array{LibraryProduct,1}) at C:\Users\Graham\.julia\packages\BinaryProvider\A0sDa\src\Products.jl:419
│  [3] (::getfield(BinaryProvider, Symbol("#kw##write_deps_file")))(::NamedTuple{(:verbose,),Tuple{Bool}}, ::typeof(write_deps_file), ::String, ::Array{LibraryProduct,1}) at .\none:0
│  [4] top-level scope at none:0
│  [5] include at .\boot.jl:326 [inlined]
│  [6] include_relative(::Module, ::String) at .\loading.jl:1038
│  [7] include at .\sysimg.jl:29 [inlined]
│  [8] include(::String) at C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\build.jl:24
│  [9] top-level scope at C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\build.jl:25
│  [10] include at .\boot.jl:326 [inlined]
│  [11] include_relative(::Module, ::String) at .\loading.jl:1038
│  [12] include(::Module, ::String) at .\sysimg.jl:29
│  [13] include(::String) at .\client.jl:403
│  [14] top-level scope at none:0
│ in expression starting at C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\build_Zlib.v1.2.11.jl:48
│ in expression starting at C:\Users\Graham\.julia\packages\LibCURL\lWJxD\deps\build.jl:14
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.1\Pkg\src\Operations.jl:1075

I also get the same as the original poster when trying to build Arpack.

I’ve commented out Revise from my startup.jl, restarted Julia, removed LibCURL, deleted the physical folder in .julia\packages, garbage collected, added LibCURL back and rebuilt, but still the same error.

1 Like

The error on Windows may probably be v0.5.5 breaks ReadStat.jl on windows · Issue #172 · JuliaPackaging/BinaryProvider.jl · GitHub

1 Like

@giordano Thanks that seems to be it. Pinning BinaryProvider to version 0.5.4 appears to be a workaround.