Bug 2820

Summary: DVD playback fails "undefined symbol: dvdnav_get_vm"
Product: Fedora Reporter: Rolf Fokkens <rolf>
Component: kodiAssignee: Alex Lancaster <alexl>
Status: RESOLVED EXPIRED    
Severity: normal CC: akostadinov, john.obaterspok, ktdreyer, richmattes
Priority: P5    
Version: 18   
Hardware: All   
OS: GNU/Linux   
namespace:

Description Rolf Fokkens 2013-06-01 15:34:02 CEST
Playback of a DVD in XBMC fails, with a pop-up "Playback failed", "one of more items failed to play", "Check the log file for details".

xbmc.log shows:

13:19:10 T:140149927266048 WARNING: Unable to resolve: libdvdnav-x86_64-linux.so
 dvdnav_get_vm, reason: /usr/lib64/xbmc/system/players/dvdplayer/libdvdnav-x86_6
4-linux.so: undefined symbol: dvdnav_get_vm
13:19:10 T:140149927266048   ERROR: Unable to resolve exports from dll special:/
/xbmcbin/system/players/dvdplayer/libdvdnav-x86_64-linux.so
13:19:10 T:140149927266048   ERROR: CDVDPlayer::OpenInputStream - error opening 
[/home/rolf/downloads/complete/Dune/bekijken/series/Eureka/Eureka S2D2 [2007].is
o]
Comment 1 Rich Mattes 2013-06-01 21:21:33 CEST
The definition of dvdnav_get_vm, inside of dvdnav.c, is enclosed inside an #ifdef _XBMC block.  xbmc's configure.in script defines -D_XBMC in the DVDREAD_CFLAGS var, which should get picked up by libdvdnav.

It looks like in the xbmc-12.2-dvdread.patch, in configure.in, someone inadvertently removed the $DVDREAD_CFLAGS from the --extra-cflags argument to lib/libdvd/libdvdnav/configure2.  The fix should be to add the $DVDREAD_CFLAGS back:

--- xbmc-12.2-dvdread.patch.orig	2013-06-01 15:14:03.747747048 -0400
+++ xbmc-12.2-dvdread.patch	2013-06-01 15:13:36.931670841 -0400
@@ -59,7 +59,7 @@
 -    --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes" \
 -    --extra-ldflags="-L`pwd`/../libdvdread/obj" \
 -    --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \
-+    --extra-cflags="$CFLAGS -fPIC -DPIC" \
++    --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -fPIC -DPIC" \
      --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
      --host=$host_alias \
      --build=$build_alias \

Tested and working in fedora 19 x86_64
Comment 2 Ken Dreyer 2013-06-11 17:13:19 CEST
Thanks Rolf for the patch. I've added it in xbmc-12.2-3, which is currently in updates-testing.

To test it out:

yum --enablerepo=rpmfusion-free-updates-testing update xbmc
Comment 3 Aleksandar Kostadinov 2013-06-11 21:16:40 CEST
*** Bug 2830 has been marked as a duplicate of this bug. ***
Comment 4 Rolf Fokkens 2013-06-14 20:50:17 CEST
*** Bug 2802 has been marked as a duplicate of this bug. ***
Comment 5 Emmanuel Seyman 2014-01-14 23:53:13 CET
RPMFusion is no longer releasing updates for this version of Fedora. This bug
will be set to RESOLVED:EXPIRED next week to reflect this.

If the problem persists after upgrading to the latest version of Fedora, please
update the version field of this bug (and re-open it if it has been closed).
Comment 6 Emmanuel Seyman 2014-01-25 10:43:19 CET
Setting to RESOLVED:EXPIRED since RPMFusion is no longer releasing updates for
this version of Fedora.