Il problema è documentato anche nel README presente all'interno dei driver NVIDIA
If there are other libraries whose "soname" conflicts with that of
the NVIDIA libraries, ldconfig may create the wrong symlinks. It is
recommended that you manually remove or rename conflicting libraries
(be sure to rename clashing libraries to something that ldconfig will
not look at -- we have found that prepending "XXX" to a library name
generally does the trick), rerun 'ldconfig', and check that the correct
symlinks were made. Some libraries that often create conflicts are
"/usr/X11R6/lib/libGL.so*" and "/usr/X11R6/lib/libGLcore.so*".
If the libraries checks out, then verify that the application is using
the correct libraries. For example, to check that the application
/usr/X11R6/bin/gears is using the NVIDIA libraries, you would do:
$ ldd /usr/X11R6/bin/gears
libglut.so.3 => /usr/lib/libglut.so.3 (0x40014000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40046000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x40062000)
libc.so.6 => /lib/libc.so.6 (0x4009f000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x4018d000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40196000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x401ac000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401c0000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401cd000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401d6000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x402ab000)
libm.so.6 => /lib/libm.so.6 (0x4048d000)
libdl.so.2 => /lib/libdl.so.2 (0x404a9000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x404ac000)
Note the files being used for libGL and libGLcore -- if they are something
other than the NVIDIA libraries, then you will need to either remove the
libraries that are getting in the way, or adjust your ld search path.
If any of this seems foreign to you, then you may want to read the man
pages for "ldconfig" and "ldd" for pointers.
Il modo più semplice per risolvere e lasciare intatti i driver NVIDIA e quello di modifcare lo SlackBuild di MESA3D e ricompilarlo.
Io ho inserito una riga che fa in modo che la libreria lib.GL.so non venga sovrascritta dalla libreria OpenGl di Mesa 3d. Installando però tutte le altre librerie e Header di Mesa3d
#!/bin/sh
# Heavily based on the Slackware 10.2 SlackBuild
#
http://mesa3d.org/
# Packagers Gohanz (
gohanz@infinito.ii)
#
http://www.slacky.it
CWD=`pwd`
if ["$TMP" = ""]; then
TMP=/tmp
fi
PKG=$TMP/package-Mesa
NAME=Mesa
VERSION=6.4
TARGET=i486
ARCH=${ARCH:-i486}
BUILD=2AS
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
mkdir -p $PKG
fi
cd $TMP
tar xvjf $CWD/MesaDemos-$VERSION.tar.bz2
tar xvjf $CWD/MesaGLUT-$VERSION.tar.bz2
tar xvjf $CWD/MesaLib-$VERSION.tar.bz2
cd $NAME-$VERSION
chown -R root.root .
make linux-x86
mkdir -p $PKG/usr/doc/$NAME-$VERSION
cp -a $TMP/$NAME-$VERSION/docs/COPYING \
$PKG/usr/doc/$NAME-$VERSION
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null
)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
mkdir -p $PKG/usr/include
mkdir -p $PKG/usr/lib
mkdir -p $PKG/usr/share/mesa3d/docs
mkdir -p $PKG/usr/share/mesa3d/progs
cp -f -r $TMP/$NAME-$VERSION/include/* $PKG/usr/include
cp -f -d $TMP/$NAME-$VERSION/lib/* $PKG/usr/lib
rm $PKG/usr/lib/libGL.so.1.5.060400
cp -f $TMP/$NAME-$VERSION/docs/* $PKG/usr/share/mesa3d/docs/
find $TMP/$NAME-$VERSION/progs/ -perm -755 -exec cp {} /$PKG/usr/share/mesa3d/progs/ \;
cd $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP/$NAME-$VERSION
rm -rf $PKG
fi
Oppure si puo procedere a mano. Nel caso in cui ci sia un conflitto con i driver Nvidia e il TGZ presente in Download cancellando la libreria lib.GL.so.1.5.06.0400 e link relativi. E poi reinstallando i driver Nvidia