Skip to content

Undefined reference to `glXM*` when linking lib/libvtkRenderingOpenGL2-9.0.so.9.0.0

Using CMake Version 3.17.3, gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0. When building I get lots of errors like:

/usr/bin/ld: lib/libvtkRenderingOpenGL2-9.0.so.9.0.0: undefined reference to `glXMakeCurrent'
/usr/bin/ld: lib/libvtkRenderingOpenGL2-9.0.so.9.0.0: undefined reference to `glXGetVisualFromFBConfig'
/usr/bin/ld: lib/libvtkRenderingOpenGL2-9.0.so.9.0.0: undefined reference to `glXGetCurrentDisplay'

If you add the line list(APPEND opengl_targets OpenGL::GL) just before line 30 in VTK/Utilities/OpenGL/CmakeLists.txt everything compiles OK.

    else ()
      list(APPEND opengl_targets OpenGL::GL)
      list(APPEND opengl_targets OpenGL::OpenGL)
    endif ()

@ken-martin I'm happy to do a merge request or you can do it. You may see other issues that I don't know about!