Hey,
I have trouble to compile paraview using the nvidia proprietary driver instead of the files which belongs to mesa.
So the problem is that there is a libGL.so.1 in /usr/lib which belongs to mesa (18.2.8) and one in
/usr/lib/opengl/nvidia/lib (nvidia-driver).
I tried to use
-DOPENGL_gl_LIBRARY="/usr/lib/opengl/nvidia/lib/libGL.so"
and got this result:
'--------------------------------------------------------------------------------------------------------
– Configuring done
CMake Warning at VTK/CMake/vtkModuleMacros.cmake:575 (add_library):
Cannot generate a safe runtime search path for target
vtkPVServerManagerApplication because files in some directories may
conflict with libraries in implicit directories:
runtime library [libEGL.so.1] in /usr/lib may be hidden by files in:
/usr/lib/opengl/nvidia/lib
runtime library [libGL.so.1] in /usr/lib may be hidden by files in:
/usr/lib/opengl/nvidia/lib
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
VTK/CMake/vtkModuleMacros.cmake:660 (vtk_add_library)
ParaViewCore/ServerManager/SMApplication/CMakeLists.txt:35 (vtk_module_library)
CMake Warning at VTK/CMake/vtkModuleMacros.cmake:575 (add_library):
Cannot generate a safe runtime search path for target pqCore because files
in some directories may conflict with libraries in implicit directories:
runtime library [libEGL.so.1] in /usr/lib may be hidden by files in:
/usr/lib/opengl/nvidia/lib
runtime library [libGL.so.1] in /usr/lib may be hidden by files in:
/usr/lib/opengl/nvidia/lib
Some of these libraries may not be found correctly.
…
…
– Generating done
CMake Warning:
Manually-specified variables were not used by the project:
EGL_opengl_LIBRARY
'------------------------------------------------------------------------------------------------------
Then I tried to use instead
OpenGL_GL_PREFERENCE=GLVND
but got this result (same like above but in the end another unused variable):
'------------------------------------------------------------------------------------------------------
…
…
…
Manually-specified variables were not used by the project:
OpenGL_GL_PREFERENCE"
'------------------------------------------------------------------------------------------------------
glxinfo | grep -i opengl:
'------------------------------------------------------------------------------------------------------
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro P400/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 415.25
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 415.25
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 415.25
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
'------------------------------------------------------------------------------------------------------
So is /usr/lib/ hardcoded and always used first, even when the system is configured otherwise?
The program will compile anyway but it uses afterwards the wrong libGL.so.1 file because it uses the one from /usr/lib first, even when other programs don’t and work without any problem, because they use the right libGL.so.1 file from the profile.
OS: gentoo linux - amd64
Version: Paraview 5.6.0
So yes, the system has mesa for other stuff then paraview and the proprietary nvidia-driver for cuda for example.
Any help would be very appreciated.
Greetings
Galitus