Giter VIP home page Giter VIP logo

Comments (12)

yashi avatar yashi commented on August 26, 2024 3

@yakir12, would you mind trying the following?

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 julia

from glfw.jl.

SimonDanisch avatar SimonDanisch commented on August 26, 2024 1

That sounds like you have no gpu drivers installed or not not installed them correctly ;)
Make sure to install nvidia drivers & make sure that glxinfo | grep OpenGL spits out OpenGL > 3.3

from glfw.jl.

yakir12 avatar yakir12 commented on August 26, 2024

I think the correct drivers are already installed:

~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:05.0/0000:02:00.0 ==
modalias : pci:v000010DEd0000042Fsv000010DEsd00000492bc03sc00i00
vendor   : NVIDIA Corporation
model    : G86 [Quadro NVS 290]
driver   : nvidia-340 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

~$ sudo apt-get install nvidia-340
Reading package lists... Done
Building dependency tree       
Reading state information... Done
nvidia-340 is already the newest version (340.108-0ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.

and I can see that OpenGL is ≥ 3.3 (but not > 3.3):

glxinfo | grep "OpenGL version"
OpenGL version string: 3.3.0 NVIDIA 340.108

yet, I still run into the same problem:

(@v1.5) pkg> build GLMakie
   Building ModernGL  `~/.julia/packages/ModernGL/rVuW2/deps/build.log`
   Building FFTW ──── `~/.julia/packages/FFTW/DMUbN/deps/build.log`
   Building GLMakie ─ `~/.julia/packages/GLMakie/cLuEl/deps/build.log`
┌ Error: Error building `GLMakie`: 
│ libGL error: No matching fbConfigs or visuals found
│ libGL error: failed to load driver: swrast
│ init error of GLFW
...

So do I need the version of OpenGL to be higher than, but not equal to, 3.3.0?

from glfw.jl.

SimonDanisch avatar SimonDanisch commented on August 26, 2024

Do you have any special setup in place? E.g. running this headless (without monitor) or something?

from glfw.jl.

yakir12 avatar yakir12 commented on August 26, 2024

No, this was on a Ubuntu with Gnome (newest LTS with all the normal things). But I've switched it to Debian Buster (so not the latest) with just i3, to see if it was something Ubuntu related. The hardware this is on is a bit dated (2008) and nvidia-detect said I needed buster for the correct nvidia driver. I still have OpenGL 3.3 and the driver for the Nvidia card is 340.108. I've now tried to use the Julia binaries instead of building from source (in order to test the workaround mentioned in #198), and now the error is slightly different:

(@v1.5) pkg> build GLMakie
   Building ModernGL → `~/.julia/packages/ModernGL/rVuW2/deps/build.log`
   Building FFTW ────→ `~/.julia/packages/FFTW/DMUbN/deps/build.log`
   Building GLMakie ─→ `~/.julia/packages/GLMakie/cLuEl/deps/build.log`
┌ Error: Error building `GLMakie`: 
│ init error of GLFW
...

As reported elsewhere trying to build GLFW doesn't output anything at all. installing libglfw3 didn't help either.

So something must be up since this isn't working in either Ubuntu nor Debian...

from glfw.jl.

SimonDanisch avatar SimonDanisch commented on August 26, 2024

I don't see the error :D
Try:

using GLFW; GLFW.Window()

For a simple test!

from glfw.jl.

yakir12 avatar yakir12 commented on August 26, 2024

Gladly:

julia> using GLFW; GLFW.Window()
ERROR: GLFWError (API_UNAVAILABLE): GLX: No GLXFBConfigs returned
Stacktrace:
 [1] _ErrorCallbackWrapper(::Int32, ::Cstring) at /home/shelin/.julia/packages/GLFW/CBo9c/src/callback.jl:43
 [2] CreateWindow(::Int64, ::Int64, ::String, ::GLFW.Monitor, ::GLFW.Window) at /home/shelin/.julia/packages/GLFW/CBo9c/src/glfw3.jl:499
 [3] GLFW.Window(; name::String, resolution::Tuple{Int64,Int64}, debugging::Bool, major::Int64, minor::Int64, windowhints::Array{Tuple{UInt32,Int64},1}, contexthints::Array{Tuple{UInt32,Integer},1}, visible::Bool, focus::Bool, fullscreen::Bool, monitor::Nothing, share::GLFW.Window) at /home/shelin/.julia/packages/GLFW/CBo9c/src/glfw3.jl:344
 [4] GLFW.Window() at /home/shelin/.julia/packages/GLFW/CBo9c/src/glfw3.jl:316
 [5] top-level scope at REPL[4]:1

from glfw.jl.

yakir12 avatar yakir12 commented on August 26, 2024

It's been long enough for all of these problems to have resolved themselves by now... So I think we can close this because, currently, I can't even reproduce the errors I reported here.

Both setting and not setting LD_PRELOAD when running

using GLFW; GLFW.Window()

works (i.e. no errors and a new window is created).

Let me know if there is anything additional you want me to test. For reference:

julia> versioninfo()
Julia Version 1.8.0-beta1
Commit 7b711ce699 (2022-02-23 15:09 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × AMD Ryzen Threadripper 2950X 16-Core Processor
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, znver1)
  Threads: 1 on 32 virtual cores

from glfw.jl.

yashi avatar yashi commented on August 26, 2024

It's been long enough for all of these problems to have resolved themselves by now...

Unfortunately, it's happening on my system. (That's why I found this issue).

So I think we can close this

Sure. I agree, since the root cause is JuliaLang/julia#34276, which is not fixed but closed at the time of writing.

from glfw.jl.

hofmannmartin avatar hofmannmartin commented on August 26, 2024

Is this releated? Using the newest ubuntu release 22.04 I get

julia> using GLFW; GLFW.Window()
libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
ERROR: GLFWError (VERSION_UNAVAILABLE): GLX: Failed to create context: GLXBadFBConfig
Stacktrace:
 [1] _ErrorCallbackWrapper(code::Int32, description::Cstring)
   @ GLFW ~/.julia/packages/GLFW/BWxfF/src/callback.jl:43
 [2] CreateWindow(width::Int64, height::Int64, title::String, monitor::GLFW.Monitor, share::GLFW.Window)
   @ GLFW ~/.julia/packages/GLFW/BWxfF/src/glfw3.jl:499
 [3] GLFW.Window(; name::String, resolution::Tuple{Int64, Int64}, debugging::Bool, major::Int64, minor::Int64, windowhints::Vector{Tuple{UInt32, Int64}}, contexthints::Vector{Tuple{UInt32, Integer}}, visible::Bool, focus::Bool, fullscreen::Bool, monitor::Nothing, share::GLFW.Window)
   @ GLFW ~/.julia/packages/GLFW/BWxfF/src/glfw3.jl:344
 [4] GLFW.Window()
   @ GLFW ~/.julia/packages/GLFW/BWxfF/src/glfw3.jl:316
 [5] top-level scope
   @ REPL[3]:1
``

from glfw.jl.

t-bltg avatar t-bltg commented on August 26, 2024

@hofmannmartin, use the workaround described in #198 (comment) on 22.04.

from glfw.jl.

alxmz2 avatar alxmz2 commented on August 26, 2024

I think it is, @hofmannmartin. I am using the same distribution (ubuntu 22.04) and got the same error. The workaround
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 julia
works.

from glfw.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.