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

OpenSpecFun_jll not importable in JULIA_LOAD_PATH=@ julia1.6 #1009

Closed
tkf opened this issue Feb 12, 2021 · 2 comments
Closed

OpenSpecFun_jll not importable in JULIA_LOAD_PATH=@ julia1.6 #1009

tkf opened this issue Feb 12, 2021 · 2 comments

Comments

@tkf
Copy link

tkf commented Feb 12, 2021

Reposting JuliaLang/julia#39631. I think this is a bug in BinaryBuilder.jl and/or JLLWrappers.jl.


Executing using OpenSpecFun_jll in Julia 1.6 started with JULIA_LOAD_PATH=@ fails with

ERROR: LoadError: LoadError: ArgumentError: Package CompilerSupportLibraries_jll [e66e0078-7015-5450-92f7-15fbd957f2ae] is required but does not seem to be installed:
 - Run `Pkg.instantiate()` to install all recorded dependencies.

while it works if JULIA_LOAD_PATH=@ is not set.


MWE:

tempd="$(mktemp -d)"
julia1.6 -e "using InteractiveUtils; versioninfo()"
JULIA_PROJECT="$tempd" julia1.6 --startup-file=no -e 'using Pkg; Pkg.add("OpenSpecFun_jll")'
JULIA_LOAD_PATH=@ JULIA_PROJECT="$tempd" julia1.6 --startup-file=no -e "using OpenSpecFun_jll"

prints

++ mktemp -d
+ tempd=/tmp/tmp.gHBIIMa7oe
+ julia1.6 -e 'using InteractiveUtils; versioninfo()'
Julia Version 1.6.0-rc1
Commit a58bdd9010 (2021-02-06 15:49 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: AMD EPYC 7502 32-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, znver2)
Environment:
  JULIA_EDITOR = vim
+ JULIA_PROJECT=/tmp/tmp.gHBIIMa7oe
+ julia1.6 --startup-file=no -e 'using Pkg; Pkg.add("OpenSpecFun_jll")'
    Updating registry at `~/.julia/registries/General`
   Resolving package versions...
    Updating `/tmp/tmp.gHBIIMa7oe/Project.toml`
  [efe28fd5] + OpenSpecFun_jll v0.5.3+4
    Updating `/tmp/tmp.gHBIIMa7oe/Manifest.toml`
  [692b3bcd] + JLLWrappers v1.2.0
  [efe28fd5] + OpenSpecFun_jll v0.5.3+4
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [83775a58] + Zlib_jll
  [8e850ede] + nghttp2_jll
+ JULIA_LOAD_PATH=@
+ JULIA_PROJECT=/tmp/tmp.gHBIIMa7oe
+ julia1.6 --startup-file=no -e 'using OpenSpecFun_jll'
ERROR: LoadError: LoadError: ArgumentError: Package CompilerSupportLibraries_jll [e66e0078-7015-5450-92f7-15fbd957f2ae] is required but does not seem to be installed:
 - Run `Pkg.instantiate()` to install all recorded dependencies.

Stacktrace:
  [1] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:986
  [2] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:910
  [3] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:897
  [4] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
  [5] top-level scope
    @ ~/.julia/packages/JLLWrappers/WnWcZ/src/toplevel_generators.jl:170
  [6] include
    @ ./Base.jl:386 [inlined]
  [7] 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:1209
  [8] top-level scope
    @ none:1
  [9] eval
    @ ./boot.jl:360 [inlined]
 [10] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [11] top-level scope
    @ none:1
in expression starting at /home/arakaki/.julia/packages/OpenSpecFun_jll/Xw8XK/src/wrappers/x86_64-linux-gnu-libgfortran4.jl:4
in expression starting at /home/arakaki/.julia/packages/OpenSpecFun_jll/Xw8XK/src/OpenSpecFun_jll.jl:2
ERROR: Failed to precompile OpenSpecFun_jll [efe28fd5-8261-553b-a9e1-b2916fc3738e] to /home/arakaki/.julia/compiled/v1.6/OpenSpecFun_jll/jl_JcNszE.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1356
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1302
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1017
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:910
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:897

Also:

  • It works in 1.6 if I remove JULIA_LOAD_PATH=@.
  • It works in 1.5 and 1.7.0-DEV.409.
@giordano
Copy link
Member

giordano commented Feb 12, 2021

I still have a hard time understanding the difference with JuliaLang/julia#39504

It works in 1.5 and 1.7.0-DEV.409.

409 or 509? I'm asking because 509 is exactly JuliaLang/julia@5d7e13f

@tkf
Copy link
Author

tkf commented Feb 12, 2021

It was 409 but I think I forgot to put back JULIA_LOAD_PATH=@ when I tested 1.7. Indeed, 1.6 works as expected if I test a jll (bsdiff_classic_jll) that depends only on non-stdlib jll. I apologise for the noise.

@tkf tkf closed this as completed Feb 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants