I’m attempting to build the pvserver with EGL support that could be used with our Nvidia GPU cards. I’ve been working on the build for a while, but it always fails as shown below. The details of the build are in the attached cmake file. I downloaded the superbuild distribution in the hope that this process would be less painful, however it seems not.
Does anyone have any advice please? Any help would really be appreciated.
EL7-EGL.cmake (2.1 KB)
[ 52%] Built target vtkInteractionWidgets
gmake: *** [all] Error 2
CMake Error at /local/software/paraview/5.6.0-test/build-vis-mesa/superbuild/sb-paraview-build.cmake:47 (message):
Failed with exit code 2
make: *** [superbuild/paraview/stamp/paraview-build] Error 1
make: *** [superbuild/CMakeFiles/paraview.dir/all] Error 2
make: *** [all] Error 2
Maybe this could provide some guidance on how we do it within our docker image.
I have recently managed to do superbuild with EGL support using CentOS 7.
Some of the problems I initially had were resolved by using an appropriate combination of gcc and cmake versions.
Here is the Dockerfile with dependencies (probably not a minimal set): https://github.com/lhofmann/paraview-superbuild-docker/blob/master/Dockerfile.egl
And here is the build script: https://github.com/lhofmann/paraview-superbuild-docker/blob/master/scripts/build_paraview.egl.sh
There are also binaries of the 5.6.0 EGL superbuild in the repository (in Releases).
Thank you for you replies. Your comments were very useful in helping me to get the EGL build sorted out. I have a working build now and it appears to be OK despite my reservations.
I did assume that my EGL_LIBRARY ought to be the one provided by the Nvidia driver (v410*) – that is /usr/lib64/libEGL_nvidia.so.0. I find, however, that it was this library that was causing the build failure due to unresolved dependencies. If I switched to use libEGL.so as provided by one of the Mesa rpms then everything builds and seems to work as expected. I note that another user has posted to the forum re this issue, however there is no advice on how to work around this.
afaik, mesa EGL is only limited to OpenGL ES, which is not enough for our EGL build.
This is our EGL test machine.
You can take a look at the libraries (and parameters) used there.