[Paraview] ParaView 3.5 and 3.6 build problem, libGL.so location, OpenSUSE 11.1

Graham Macpherson g.macpherson at opencfd.co.uk
Tue Jun 23 06:51:14 EDT 2009


Hello,

I had an OpenGL related problem building ParaView 3.5 and 3.6.  I'm running 
OpenSUSE 11.1, 2.6.27.23-0.1, x86_64, with NVIDIA version 185.18.14 drivers 
and OpenGL which came from NVIDIA's repository, i.e. here

    ftp://download.nvidia.com/opensuse/11.1/x86_64/

When it was linking some executables I got a load of errors of the likes of:

    Linking CXX executable ../../../../bin/ImagingCxxTests
    /usr/lib64/libGL.so: undefined reference to `_nv001622gl'
    /usr/lib64/libGL.so: undefined reference to `_nv001299gl'
    /usr/lib64/libGL.so: undefined reference to `_nv001491gl'
    ...
    etc

The problem comes from the fact that /usr/lib64/libGL.so doesn't seem to be 
the correct location for the proper libGL.so, at least on OpenSUSE 11.1 with 
NVIDIA drivers.  If I run

    ldd /usr/bin/* | grep libGL.so

or

    ldd /usr/lib64/* | grep libGL.so

then every system executable and library calling libGL.so is calling it from 
this location:

    libGL.so.1 => /usr/X11R6/lib64/libGL.so.1

rather than

    /usr/lib64/libGL.so

where CMake is looking for it.  In the past, I think the packages of drivers 
were creating a copy of libGL.so in /usr/lib64 (for example I have 
/usr/lib64/libGL.so.180.44 from previous drivers, which was soft-linked to 
/usr/lib64/libGL.so) so it was OK to link to it, but they seem to have stopped 
doing that in the most recent version, as that's apparently not where the OS 
is going to look for it.

The reason I had linking problems is that I had the old version of libGL.so 
still lurking in /usr/lib64/, so it was linking against the wrong version.  If 
I manually create soft-links in /usr/lib64 to point to the correct libraries 
in /usr/X11R6/lib64/ then ParaView builds fine.

I could suggest that the CMake looks in /usr/X11R6/lib64 in preference to 
/usr/lib64, but I don't know if this is a portable, general solution.

Regards,

Graham



More information about the ParaView mailing list