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] gksqt can't find version Qt_6.7 on Fedora 39 #4954

Closed
warrickball opened this issue Jun 28, 2024 · 4 comments
Closed

[BUG] gksqt can't find version Qt_6.7 on Fedora 39 #4954

warrickball opened this issue Jun 28, 2024 · 4 comments
Labels

Comments

@warrickball
Copy link

Details

I'm new to Julia in general but was trying to re-run a script that worked about 2 years ago and encountered an error reproduced by any plot I've tried. E.g.,

$ julia -e 'using Plots; display(scatter([0,1],[0,1]))'
/home/wball/.julia/artifacts/7fbeed78a2a71554624bc9441e767886d4d9aa4f/bin/gksqt: /lib64/libQt6Core.so.6: version `Qt_6.7' not found (required by /home/wball/.julia/artifacts/7fbeed78a2a71554624bc9441e767886d4d9aa4f/bin/gksqt)
connect: Connection refused
GKS: can't connect to GKS socket application

GKS: Open failed in routine OPEN_WS
GKS: GKS not in proper state. GKS must be either in the state WSOP or WSAC in routine ACTIVATE_WS
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine FILLAREA
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine FILLAREA
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYLINE
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine TEXT
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYMARKER
GKS: GKS not in proper state. GKS must be either in the state WSAC or SGOP in routine POLYMARKER

I'm on Fedora 39 using Julia 1.9.2 and Plots.jl 1.40.4. The closest related issue I could find was this one but my hunch here is that this version of Plots specifically requires Qt>6.7 whereas I have Qt 6.6.2:

$ dnf list installed | grep qt6
gstreamer1-plugins-good-qt6.x86_64                   1.22.12-1.fc39                      @updates              
libadwaita-qt6.x86_64                                1.4.2-5.fc39                        @fedora               
qadwaitadecorations-qt6.x86_64                       0.1.5-2.fc39                        @updates              
qt6-qtbase.x86_64                                    6.6.2-1.fc39                        @updates              
qt6-qtbase-common.noarch                             6.6.2-1.fc39                        @updates              
qt6-qtbase-gui.x86_64                                6.6.2-1.fc39                        @updates              
qt6-qtcharts.x86_64                                  6.6.2-1.fc39                        @updates              
qt6-qtdeclarative.x86_64                             6.6.2-3.fc39                        @updates              
qt6-qtmultimedia.x86_64                              6.6.2-1.fc39                        @updates              
qt6-qtpositioning.x86_64                             6.6.2-1.fc39                        @updates              
qt6-qtserialport.x86_64                              6.6.2-1.fc39                        @updates              
qt6-qtsvg.x86_64                                     6.6.2-1.fc39                        @updates              
qt6-qttranslations.noarch                            6.6.2-1.fc39                        @updates              
qt6-qtwayland.x86_64                                 6.6.2-1.fc39                        @updates              
qt6-srpm-macros.noarch                               6.6.2-1.fc39                        @updates              

Is the solution to downgrade Plots to a version that won't look for Qt 6.6? The installation page of the Plots.jl docs doesn't mention potential issues like this. The docs for Julia in the GR Framework docs mention the Linux prerequisites but I've installed them all (assuming I should use qt6 rather than qt5, because the docs give packages for Fedora 28, though I have the qt5 versions anyway).

I tried removing my ~/.julia directory completely and reinstalling Plots.jl again but got the same error message.

Backends

This bug occurs on ( insert x below )

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

Versions

Plots.jl version:

(@v1.9) pkg> st -m Plots
Status `~/.julia/environments/v1.9/Manifest.toml`
  [91a5bcdd] Plots v1.40.4

Backend version (]st -m <backend(s)>):

(@v1.9) pkg> st -m GR
Status `~/.julia/environments/v1.9/Manifest.toml`
  [28b8d3ca] GR v0.73.6

Output of versioninfo():

julia> versioninfo()
Julia Version 1.9.2
Commit e4ee485e90 (2023-07-05 09:39 UTC)
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: 4 × Intel(R) Core(TM) i5-4460S CPU @ 2.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-14.0.6 (ORCJIT, haswell)
  Threads: 1 on 4 virtual cores
@Ossifragus
Copy link

I am using Ubuntu 24.04, and I have the same issue when running Julia in Emacs, but it works when I run Julia from terminal directly.

@BeastyBlacksmith
Copy link
Member

CC: @jheinen

@jheinen
Copy link
Member

jheinen commented Nov 18, 2024

If you use the BinaryBuilder version of GR there's no need to install Qt6 packages from your Linux distribution. Did you probably set an environment variable (LD_PRELOAD, LD_LIBRARY_PATH)? This would explain, why the behavior ist different when running Julia from a terminal or in Emacs (due to different shell profiles or a missing login shell).

@Ossifragus
Copy link

@jheinen Thank you so much for the information! Yes, I did have the following line in my Emacs configuration, and removing it makes GR work from Emacs now.

(setenv "LD_PRELOAD" "/usr/lib/x86_64-linux-gnu/libstdc++.so.6")

I have another computer with the same Linux and Emacs cofiguation, but GR works fine with the above line. I guess the issue is also related to my current computer. I have some other weird issues related to my graphic card.

Anyway, this line was added as a temp fix for a GLMakie.jl issue. I should have removed it a while ago. Many thanks again for your help!

@jheinen jheinen closed this as completed Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants