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

[BUG] GKS QtTerm window does not appear with Julia v.1.8.2 on Arch Linux #4526

Closed
jchitpin opened this issue Nov 17, 2022 · 5 comments
Closed

Comments

@jchitpin
Copy link

Details

Arch Linux x86 platform with gr-framework installed.

I updated to Julia v.1.8.2 from v.1.6.7 (both binaries from julialang.org/) and Plots.jl with the gr() backend does not open the GKS QtTerm plotting window. Running the following codes gave no precompilation error with Plots.jl or any error in the REPL:

julia> import Pkg
julia> Pkg.add(Pkg.PackageSpec(; name="Plots", version=1.36.2)) # tested with 4 versions of Plots.jl
julia> using Plots
julia> gr()
Plots.GRBackend()
julia> Plots.plot(randn(12)) # no plot appears

I had no issues using the three other plotting backends but have not tried pyplot, inspectdr, or gaston. I rolled back Plots.jl to several older versions and reran the code above but no plotting window appeared.

The latest version of Plots.jl correctly opens the GKS QtTerm plotting window with Julia v.1.6.7.

Backends

This bug occurs on ( insert x below )

Backend yes no untested
gr (default) x
pyplot x
plotlyjs x
pgfplotsx x
unicodeplots x
inspectdr x
gaston x

Versions

Plots.jl version: 1.36.2, 1.35.0, 1.34.0, and 1.33.0
Backend version 0.69.5, 0.69.5, 0.68.0, 0.66.2:
Output of versioninfo():

Julia Version 1.8.2
Commit 36034abf260 (2022-09-29 15:21 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 12 × AMD Ryzen 5 5600X 6-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, znver3)
  Threads: 4 on 12 virtual cores
Environment:
  JULIA_NUM_THREADS = 4
Julia Version 1.6.7
Commit 3b76b25b64 (2022-07-19 15:11 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: AMD Ryzen 5 5600X 6-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, generic)
Environment:
  JULIA_NUM_THREADS = 4
@t-bltg
Copy link
Member

t-bltg commented Nov 19, 2022

Can your try:

$ LD_PRELOAD=$(g++ --print-file-name=libstdc++.so) julia
# or if you know the path to your `libstdc++.so`:
$ LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so julia  # this is on `ubuntu 22.04`
julia> using Libdl
julia> foreach(println, Libdl.dllist())
[...]  # show us this output
julia> using Plots
julia> plot(1:2)

@jchitpin
Copy link
Author

Apologies for taking so long to follow up. I ran the LD_PRELOAD line and the plotting window appeared!

# Libdl.dllist output
linux-vdso.so.1
/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../lib/libstdc++.so
/usr/bin/../lib/libdl.so.2
/usr/bin/../lib/libpthread.so.0
/usr/bin/../lib/libc.so.6
/usr/bin/../lib/libjulia.so.1
/usr/bin/../lib/libm.so.6
/lib64/ld-linux-x86-64.so.2
/usr/bin/../lib/libgcc_s.so.1
/usr/bin/../lib/julia/libopenlibm.so
/usr/bin/../lib/julia/libjulia-internal.so.1
/usr/bin/../lib/julia/libunwind.so.8
/usr/bin/../lib/julia/../librt.so.1
/usr/bin/../lib/julia/libz.so.1
/usr/bin/../lib/julia/libatomic.so.1
/usr/bin/../lib/julia/libjulia-codegen.so.1
/usr/bin/../lib/julia/libLLVM-13jl.so
/usr/lib/julia/sys.so
/usr/bin/../lib/julia/libpcre2-8.so
/usr/bin/../lib/julia/libgmp.so
/usr/bin/../lib/julia/libmpfr.so
/usr/bin/../lib/julia/libopenblas64_.so
/usr/bin/../lib/julia/libgfortran.so.5
/usr/bin/../lib/julia/libquadmath.so.0
/usr/bin/../lib/julia/libblastrampoline.so
/usr/bin/../lib/julia/libcholmod.so
/usr/bin/../lib/julia/libamd.so.2
/usr/bin/../lib/julia/libcolamd.so.2
/usr/bin/../lib/julia/libsuitesparseconfig.so.5
/usr/bin/../lib/julia/libccolamd.so.2
/usr/bin/../lib/julia/libcamd.so.2
/usr/bin/../lib/julia/libnghttp2.so.14
/usr/bin/../lib/julia/libcurl.so
/usr/bin/../lib/julia/libssh2.so.1
/usr/bin/../lib/julia/libmbedtls.so.14
/usr/bin/../lib/julia/libmbedx509.so.1
/usr/bin/../lib/julia/libmbedcrypto.so.7

@t-bltg
Copy link
Member

t-bltg commented Nov 22, 2022

You're probably hitting JuliaGL/GLFW.jl#198 JuliaLang/julia#34276 or similar.

Should be fixed by JuliaLang/julia#46976.

@t-bltg t-bltg closed this as completed Nov 22, 2022
@gustaphe
Copy link
Collaborator

(What's the policy on necrobumping here?)

I'm seeing this again, except on top of showing no window there's also

/home/username/.julia/artifacts/13488323454a8a92411d5d627bb0f85b9b4c7006/bin/gksqt: /home/username/.julia/juliaup/julia-1.10.0-beta1+0.x64.linux.gnu/bin/../lib/julia/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /usr/lib/libproxy/libpxbackend-1.0.so)
connect: Connection refused
GKS: can't connect to GKS socket application

in the console. Same problem on +release and +alpha

$ LD_PRELOAD=$(g++ --print-file-name=libstdc++.so) julia

works fine. Apparently JuliaLang/julia#46976 didn't entirely solve it. Is there anything I can do other than creating an alias with LD_PRELOAD set?

@supertrianguloid
Copy link

supertrianguloid commented Nov 7, 2023

I am experiencing this too on Arch. The LD_PRELOAD line works. I deleted ~/.julia/, reinstalled curl and openssl but nothing seems to fix it. Is there a way to temporarily fix it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants