I had a similar issue using the nvidia driver. Is this a bug? I had to add the egl, eglcore and osmesa libraries to the link lines for vtkProbeOpenGLVersion and libvtkRenderingOpenGL2-pv5.5.so.1
`-L/usr/lib/nvidia-340/ -lEGL -lnvidia-eglcore -L/usr/lib/x86_64-linux-gnu -lOSMesa` or `/usr/lib/nvidia-340/libEGL.so /usr/lib/nvidia-340/libnvidia-eglcore.so.340.104 /usr/lib/x86_64-linux-gnu/libOSMesa.so` Best, Andrew Original Message: Greetings, I'm trying to build pvserver with GPU headless rendering capability and am getting undefined references to EGL library functions when using NVIDIA's libEGL_nvidia.so.384.90 library. My cmake build specification is: cmake ../paraview \ -DVTK_USE_EGL=ON \ -DVTK_OPENGL_HAS_EGL=ON \ -DEGL_INCLUDE_DIR=/usr/include/nvidia-384 \ -DEGL_opengl_LIBRARY:FILEPATH=/usr/local/nvidia/lib64/libOpenGL.so.0 \ -DEGL_gldispatch_LIBRARY:FILEPATH=/usr/local/nvidia/lib64/libGLdispatch.so.0 \ -DEGL_LIBRARY:FILEPATH=/usr/local/nvidia/lib64/libEGL_nvidia.so.384.90 \ -DOPENGL_INCLUDE_DIR=:FILEPATH=/usr/include/nvidia-384 \ -DVTK_USE_X=OFF \ -DVTK_OPENGL_HAS_OSMESA=OFF \ -DPARAVIEW_BUILD_QT_GUI=OFF \ -DBUILD_SHARED_LIBS=ON -DPARAVIEW_USE_MPI=ON libvtkRenderingOpenGL2-pv5.4.so.1 is reporting undefined references to the egl* functions: [100%] Building CXX object CommandLineExecutables/CMakeFiles/pvserver.dir/pvserver.cxx.o [100%] Linking CXX executable ../bin/pvserver /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglTerminate' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreateWindowSurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglQueryString' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetProcAddress' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetError' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreatePbufferSurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglDestroySurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglBindAPI' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglInitialize' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglQuerySurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglChooseConfig' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglSwapBuffers' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreateContext' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetCurrentDisplay' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetDisplay' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglMakeCurrent' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglDestroyContext' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetCurrentSurface' collect2: error: ld returned 1 exit status CommandLineExecutables/CMakeFiles/pvserver.dir/build.make:124: recipe for target 'bin/pvserver' failed Manually linking while specifying libEGL_nvidia.so.384.90 and libEGL.so.1 does not resolve these references either: /usr/bin/c++ -I/usr/include/nvidia-384 -g CMakeFiles/pvserver.dir/pvserver.cxx.o -o ../bin/pvserver -rd ynamic /usr/lib/nvidia-384/libEGL.so.1 ../lib/libvtkPVServerManagerApplication-pv5.4.so.1 ../lib/libvtkPVServ erManagerCore-pv5.4.so.1 ../lib/libvtkPVServerImplementationCore-pv5.4.so.1 ../lib/libvtkPVClientServerCoreCor e-pv5.4.so.1 ../lib/libvtkFiltersParallel-pv5.4.so.1 ../lib/libvtkFiltersExtraction-pv5.4.so.1 ../lib/libvtkFi ltersModeling-pv5.4.so.1 ../lib/libvtkFiltersGeometry-pv5.4.so.1 ../lib/libvtkPVVTKExtensionsCore-pv5.4.so.1 . ./lib/libvtkPVCommon-pv5.4.so.1 ../lib/libvtkClientServer-pv5.4.so.1 ../lib/libvtkIOXMLParser-pv5.4.so.1 ../li b/libvtkFiltersSources-pv5.4.so.1 ../lib/libvtkFiltersGeneral-pv5.4.so.1 ../lib/libvtkFiltersCore-pv5.4.so.1 . ./lib/libvtkIOImage-pv5.4.so.1 ../lib/libvtkPVVTKExtensionsSIL-pv5.4.so.1 ../lib/libvtkParallelMPI-pv5.4.so.1 ../lib/libvtkParallelCore-pv5.4.so.1 ../lib/libvtkIOLegacy-pv5.4.so.1 ../lib/libvtkIOCore-pv5.4.so.1 ../lib/li bvtkCommonExecutionModel-pv5.4.so.1 ../lib/libvtkCommonDataModel-pv5.4.so.1 ../lib/libvtkCommonSystem-pv5.4.so .1 ../lib/libvtkCommonTransforms-pv5.4.so.1 ../lib/libvtkCommonMisc-pv5.4.so.1 ../lib/libvtkCommonMath-pv5.4.s o.1 ../lib/libvtkCommonCore-pv5.4.so.1 ../lib/libprotobuf.so -lpthread ../lib/libvtkjsoncpp-pv5.4.so.1 -Wl,-rp ath,/opt/subflow/paraview/paraview_build/lib: -Wl,-rpath-link,/opt/subflow/paraview/paraview_build/lib^Cusr/li b/nvidia-384/libEGL_nvidia.so.384.90 /usr/lib/nvidia-384/libEGL.so.384.90 /usr/lib/nvidia-384/libEGL.so.1 -Wl, -rpath-link,/usr/lib/nvidia-384 /usr/lib/nvidia-384/libEGL.so /usr/lib/nvidia-384/libGL.so /usr/lib/nvidia-384 /libGLESv1_CM.so /usr/lib/nvidia-384/libGLESv2.so /usr/lib/nvidia-384/libGLX.so /usr/lib/nvidia-384/libOpenGL. so /usr/lib/nvidia-384/libnvcuvid.so /usr/lib/nvidia-384/libnvidia-cfg.so /usr/lib/nvidia-384/libnvidia-compil er.so /usr/lib/nvidia-384/libnvidia-encode.so /usr/lib/nvidia-384/libnvidia-fbc.so /usr/lib/nvidia-384/libnvid ia-ifr.so /usr/lib/nvidia-384/libnvidia-ml.so root at paraview-6dcc64f758-9nkbc <http://public.kitware.com/mailman/listinfo/paraview>:/opt/subflow/paraview/paraview_build/CommandLineExecutables# ../../link.sh /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglTerminate' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreateWindowSurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglQueryString' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetProcAddress' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetError' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreatePbufferSurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglDestroySurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglBindAPI' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglInitialize' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglQuerySurface' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglChooseConfig' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglSwapBuffers' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglCreateContext' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetCurrentDisplay' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetDisplay' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglMakeCurrent' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglDestroyContext' /opt/subflow/paraview/paraview_build/lib/libvtkRenderingOpenGL2-pv5.4.so.1: undefined reference to `eglGetCurrentSurface' collect2: error: ld returned 1 exit status Does anyone know what is going wrong here? Thanks, Chris
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: https://public.kitware.com/mailman/listinfo/paraview
