Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 98831

Summary: libXvMCNVIDIA is staticly linked to xine-lib
Product: Gentoo Linux Reporter: dynamotwain
Component: Current packagesAssignee: X11 External Driver Maintainers <x11-drivers>
Status: RESOLVED DUPLICATE    
Severity: minor CC: kallamej, media-video
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description dynamotwain 2005-07-12 16:46:32 UTC
Using the XvMC driver in Xine produces this warning at startup:
This is xine (X11 gui) - a free video player v0.99.3.
(c) 2000-2004 The xine Team.
Error: API mismatch: the NVIDIA kernel module is version 1.0.7667, but
this library is version 1.0.7174. Please be sure that your kernel
module and all NVIDIA driver files have the same driver version.
Error: API mismatch: the NVIDIA kernel module is version 1.0.7667, but
this library is version 1.0.7174. Please be sure that your kernel
module and all NVIDIA driver files have the same driver version.

dmesg shows the following:
NVRM: RM/client version mismatch!!
NVRM:    aborting to avoid catastrophe!

Yet, I have the 1.0.7667 version of both nvidia-glx and nvidia-kernel installed.
Looking back in my emerge.log, I notice that at the tine I compiled
xine-lib, I had nvidia-glx-1.0.7174 installed.

Reproducible: Always
Steps to Reproduce:
1. USE="nvidia xvmc" emerge media-libs/xine-lib
2. Upgrate nvidia-glx to a newer version
3. Set Xine to use the XvMC driver
4. View error message




Expected Results:  
XvMC shoud be dynamically linked, if possible.
nVidia provides a dynamically linked version called libXvMCNVIDIA_dynamic.so
Utilizing the dynamic-linked library avoids this annoying three tier
kernel-recompilation system:
1. Upgrade kerenl
2. Recompile/upgrade external kernel modules
3. If upgrading kernel modules, recompile xine-lib.
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-07-13 01:12:42 UTC
Can you paste the output of 
 
ls -l /usr/lib/libXvMC* 
 
? Thanks. 
Comment 2 dynamotwain 2005-07-13 18:09:37 UTC
-rw-r--r--  1 root root   6596 May 14 13:59 /usr/lib/libXvMC.a
lrwxrwxrwx  1 root root     14 May 14 14:00 /usr/lib/libXvMC.so -> libXvMC.so.1.0
lrwxrwxrwx  1 root root     14 May 14 14:00 /usr/lib/libXvMC.so.1 -> libXvMC.so.1.0
-rwxr-xr-x  1 root root  10997 May 14 13:59 /usr/lib/libXvMC.so.1.0
-rw-r--r--  1 root root 185802 Jul 12 19:24 /usr/lib/libXvMCNVIDIA.a
-rwxr-xr-x  1 root root 170856 Jul 12 19:24 /usr/lib/libXvMCNVIDIA.so.1.0.7667
lrwxrwxrwx  1 root root     25 Jul 12 19:24 /usr/lib/libXvMCNVIDIA_dynamic.so.1
-> libXvMCNVIDIA.so.1.0.7667
Comment 3 Anders Hellgren gentoo-dev 2005-08-02 07:32:07 UTC
Mplayer has the same problem. Making standard symlinks (.so, .so.1, .so.1.0)
enables the dynamic linking.

$ ls -l /usr/lib/libXvMC* 
-rw-r--r--  1 root root   9316 11 Jul 14.38 /usr/lib/libXvMC.a
lrwxrwxrwx  1 root root     14 11 Jul 14.38 /usr/lib/libXvMC.so -> libXvMC.so.1.0
lrwxrwxrwx  1 root root     14 11 Jul 14.38 /usr/lib/libXvMC.so.1 -> libXvMC.so.1.0
-rwxr-xr-x  1 root root  16273 11 Jul 14.38 /usr/lib/libXvMC.so.1.0
-rw-r--r--  1 root root 185802 11 Jul 14.48 /usr/lib/libXvMCNVIDIA.a
-rwxr-xr-x  1 root root 170856 11 Jul 14.48 /usr/lib/libXvMCNVIDIA.so.1.0.7667
lrwxrwxrwx  1 root root     25 11 Jul 14.48 /usr/lib/libXvMCNVIDIA_dynamic.so.1
-> libXvMCNVIDIA.so.1.0.7667

# emerge -v mplayer

$ ldd /usr/bin/mplayer
        libmad.so.0 => /usr/lib/libmad.so.0 (0x216d7000)
        libdivxdecore.so.0 => /usr/lib/libdivxdecore.so.0 (0x216ec000)
        libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x21751000)
        libpng.so.3 => /usr/lib/libpng.so.3 (0x217ee000)
        libz.so.1 => /lib/libz.so.1 (0x21825000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x21839000)
        libasound.so.2 => /usr/lib/libasound.so.2 (0x2185d000)
        libdl.so.2 => /lib/libdl.so.2 (0x21940000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x21944000)
        libxmms.so.1 => /usr/lib/libxmms.so.1 (0x21957000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x21969000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x219ef000)
        libgif.so.4 => /usr/lib/libgif.so.4 (0x21a05000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x21a0e000)
        libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x21a3c000)
        libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x21b4d000)
        libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x21b7d000)
        libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x21b82000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x21baf000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x21bb9000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x21bcb000)
        libm.so.6 => /lib/tls/libm.so.6 (0x21cb2000)
        libGL.so.1 => /usr/lib/opengl/nvidia/lib/libGL.so.1 (0x21cd5000)
        libXv.so.1 => /usr/lib/libXv.so.1 (0x21d54000)
        libXvMC.so.1 => /usr/lib/libXvMC.so.1 (0x21d5a000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x21d5f000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x21d66000)
        libvgagl.so.1 => /usr/lib/libvgagl.so.1 (0x21df1000)
        libvga.so.1 => /usr/lib/libvga.so.1 (0x21e01000)
        libc.so.6 => /lib/tls/libc.so.6 (0x21e82000)
        /lib/ld-linux.so.2 (0x216bf000)
        libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x21f9f000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x21fa3000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x21fad000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x21fc8000)
        libGLcore.so.1 => /usr/lib/opengl/nvidia/lib/libGLcore.so.1 (0x21fed000)
        libnvidia-tls.so.1 => /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.1
(0x22756000)
        libstdc++.so.5 =>
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0x22758000)
        libgcc_s.so.1 =>
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0x22881000)

# ln -s /usr/lib/libXvMCNVIDIA.so.1.0.7667 /usr/lib/libXvMCNVIDIA.so
# ln -s /usr/lib/libXvMCNVIDIA.so.1.0.7667 /usr/lib/libXvMCNVIDIA.so.1
# ln -s /usr/lib/libXvMCNVIDIA.so.1.0.7667 /usr/lib/libXvMCNVIDIA.so.1.0

# emerge -v mplayer

$ ldd /usr/bin/mplayer
        ...
        libXvMC.so.1 => /usr/lib/libXvMC.so.1 (0x21907000)
        libXvMCNVIDIA_dynamic.so.1 => /usr/lib/libXvMCNVIDIA_dynamic.so.1
(0x2190c000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x21936000)
        ...

The build logs are identical. 
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-10-14 08:23:41 UTC
Moving this to x11-drivers as it seems more a problem with nvidia drivers. 
 
Comment 5 Anders Hellgren gentoo-dev 2006-09-04 05:37:32 UTC

*** This bug has been marked as a duplicate of 131315 ***