Discussion
Build Instructions for SPL Fedora Machines as per J. Davison de St. Germain. Thank you very much for his help in figuring this out.
These two sets of drivers are:
1) MESA (software emulation of GL) libraries:
Jul 24 2006 /usr/lib64/libGL.so -> libGL.so.1 Jul 24 2006 /usr/lib64/libGL.so.1 -> libGL.so.1.2 Jun 26 2006 /usr/lib64/libGL.so.1.2 Jul 24 2006 /usr/lib64/libGLU.so -> libGLU.so.1 Jul 24 2006 /usr/lib64/libGLU.so.1 -> libGLU.so.1.3.060402 Jun 26 2006 /usr/lib64/libGLU.so.1.3.060402
2) The real nvidia drivers:
Jul 24 2006 /usr/lib64/nvidia/libGL.so.1 -> libGL.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libGL.so.1.0.8762 Jul 24 2006 /usr/lib64/nvidia/libGLcore.so -> libGLcore.so.1.0.8762 Jul 24 2006 /usr/lib64/nvidia/libGLcore.so.1 -> libGLcore.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libGLcore.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libXvMCNVIDIA.a Jul 24 2006 /usr/lib64/nvidia/libXvMCNVIDIA.so -> libXvMCNVIDIA.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libXvMCNVIDIA.so.1.0.8762 Jul 24 2006 /usr/lib64/nvidia/libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.1.0.8762 Jul 24 2006 /usr/lib64/nvidia/libnvidia-cfg.so.1 -> libnvidia-cfg.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libnvidia-cfg.so.1.0.8762 Jul 24 2006 /usr/lib64/nvidia/libnvidia-tls.so.1 -> libnvidia-tls.so.1.0.8762 May 25 2006 /usr/lib64/nvidia/libnvidia-tls.so.1.0.8762
The reason SCIRun was not running is because it was trying to use the 'broken' (with respect to your video card) MESA drivers. My hack is to force SCIRun to use the libraries in /usr/lib64/nvidia. To do this, we have to hack the SCIRun build system, and you have to "unsetenv LD_LIBRARY_PATH" and your systems LD_LIBRARY_PATH is broken (ie: it has /usr/lib64 in it... which the system defaults to so it really isn't required, plus when there are duplicate libraries (as in our GL case here) it masks the libraries that you are actually telling it to use.
To 'hack' SCIRun to get around this problem for now, you need to do the following:
1) Make sure that the /usr/lib64/nvidia/libGL.so symlink is in place.
2) Run this command:
cd /your/scirun/bin/dir
- Run cmake like normal. cmake.....
- Build scirun like normal. nice make -j16
- Hack scirun build system... You will need to do this everytime you run cmake:
find . -name build.make | xargs ~dav/bin/updatefile ~dav/changeit
- Rebuild the effected (GL dependent) files nice make -j16
- Finally check to see that it is linked against the nvidia drivers by: ldd scirun | grep GL
- You should see something like: # libGL.so.1 => /usr/lib64/nvidia/libGL.so.1 (0x0000003d74100000) # libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x0000003a73800000) # libGLcore.so.1 => /usr/lib64/nvidia/libGLcore.so.1 (0x0000003d72900000)