Discussion

From NAMIC Wiki
Revision as of 21:46, 1 August 2007 by Mjolley (talk | contribs)
Jump to: navigation, search
Home < Discussion

Build Instructions for SPL Fedora Machines as pe J. Davison de St. Germain

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

  1. Run cmake like normal. cmake.....
  1. Build scirun like normal. nice make -j16
  1. Hack scirun build system... You will need to do this everytime you run cmake:

find . -name build.make | xargs ~dav/bin/updatefile ~dav/changeit

  1. Rebuild the effected (GL dependent) files nice make -j16
  1. Finally check to see that it is linked against the nvidia drivers by: ldd scirun | grep GL
  1. 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)