johnh
June 6, 2020, 5:40pm
1
I would like to try the fancy new InteractiveViz package.
Julia 1.4 on a laptop running Fedora 32 Linux
Intel Corporation HD Graphics 620 (rev 02)
Glxinfo says that I am using Mesa rendering:
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
Can anyone advise on installing a Makie backend?
I cannot seem to install GLMakie.
I’m not a Makie user but isn’t this what CairoMakie is intended to allow?
johnh
June 7, 2020, 10:32am
3
Fixed - this is the libstdc++ issue described here
opened 01:38AM - 03 Mar 20 UTC
closed 08:59AM - 12 May 23 UTC
Hi,
GLFW.jl is affected by the outdated libstdc++ issue. It's a problem that ha… s been affecting several projects and has been documented in [at least one Discourse thread](https://discourse.julialang.org/t/glibcxx-3-4-26-not-found-in-rcall/29113/11). What happens is that Julia ships with an old version of libstdc++, and something in the linking process fails on systems that expect a newer version of libstdc++. If you run a GLFW.jl function with the `LIBGL_DEBUG=verbose` environment variable set, you get an error message like `libGL: MESA-LOADER: failed to open /usr/lib/dri/radeonsi_dri.so: /home/alex/pkgs/julia-1.3.0/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/lib/libLLVM-9.so)`. The libstdc++ shipped with Julia 1.3 is version 3.4.24.
[There's an open issue on the main Julia repo](https://github.com/JuliaLang/julia/issues/34276). Other packages like RCall have been adding notices in their docs with workarounds in the meantime. The error message GLFW.jl gives right now is especially lacking. Without the `LIGBL_DEBUG=verbose`, on my machine it is:
```Julia
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/dri)
libGL error: failed to load driver: swrast
ERROR: GLFWError (VERSION_UNAVAILABLE): GLX: Failed to create context: BadValue
Stacktrace:
[1] _ErrorCallbackWrapper(::Int32, ::Cstring) at /home/alex/.julia/packages/GLFW/g1nX6/src/callback.jl:43
[2] CreateWindow(::Int64, ::Int64, ::String, ::GLFW.Monitor, ::GLFW.Window) at /home/alex/.julia/packages/GLFW/g1nX6/src/glfw3.jl:487 (repeats 2 times)
[3] top-level scope at REPL[3]:1
```
The workaround right now is to:
1) Delete `julia-1.3.0/lib/julia/libstdc++.so.6`
2) Find the system libstdc++ with `whereis libstdc++`
3) Link that location to `julia-1.3.0/lib/julia-libstdc++.so.6` using `ln`.
I think it'd be worthwhile to put a notice up on the README that this issue is occurring. I encountered the problem while trying to use Makie, and this repo was one of the first places I went to debug it since the error comes from this library. It's probably worthwhile to put a notice up in Makie too.
the fix of removing the Julia supplied libstdc++ and linking to the system one works.
Unfortunately, CairoMakie is not interactive yet (though it’s certainly possible).
fedxa
July 23, 2020, 9:03am
5
With Fedora 32 you can try to install Julia with the native package manager
sudo dnf install julia
(at present it installs 1.4.2 version, not lagging behind the last version like before).
For me Makie compiles with OpenGL in the julia installed liek this, and fails if I try to use the generic linux binary from the julia site.