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

Bug 82602

Summary: gst-plugins-musepack broken with libmusepack 1.1
Product: Gentoo Linux Reporter: Matthieu Le Jeune <mlejeune>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED DUPLICATE    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Matthieu Le Jeune 2005-02-19 11:19:17 UTC
The api for libmusepack has changed in libmusepack 1.1 and the current gstreamer plugins is broken. Amarok, for example, crashes while trying to play a mpc file with the compiled-against-old-lib gst-plugin with the new lib installed. The new library is needed by xmms-musepack so downgrade is not possible.

Problem seems fixed in cvs so a patch is maybe possible (see : 
http://cvs.freedesktop.org/gstreamer/gst-plugins/ext/musepack/gstmusepackdec.c?rev=1.4&view=log 
), where it says : 

Update to 1.1 API (#165446).

Reproducible: Always
Steps to Reproduce:
1. emerge libmusepack gst-plugins-musepack
Actual Results:  
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gst-libs
-I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread
-I/usr/include/gstreamer-0.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libxml2 -DGST_DISABLE_DEPRECATED -Wall -O2 -mtune=athlon-xp
-march=athlon-xp -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
-fomit-frame-pointer -MT libgstmusepack_la-gstmusepackdec.lo -MD -MP -MF
.deps/libgstmusepack_la-gstmusepackdec.Tpo -c gstmusepackdec.cpp  -fPIC -DPIC -o
.libs/libgstmusepack_la-gstmusepackdec.o
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gst-libs
-I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread
-I/usr/include/gstreamer-0.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libxml2 -DGST_DISABLE_DEPRECATED -Wall -O2 -mtune=athlon-xp
-march=athlon-xp -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
-fomit-frame-pointer -MT libgstmusepack_la-gstmusepackreader.lo -MD -MP -MF
.deps/libgstmusepack_la-gstmusepackreader.Tpo -c gstmusepackreader.cpp  -fPIC
-DPIC -o .libs/libgstmusepack_la-gstmusepackreader.o
In file included from gstmusepackdec.cpp:24:
gstmusepackdec.h:25:30: musepack/mpc_dec.h: No such file or directory
In file included from gstmusepackdec.h:26,
                 from gstmusepackdec.cpp:24:
gstmusepackreader.h:26: error: expected class-name before '{' token
gstmusepackreader.h:31: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:32: error: `mpc_int32_t' has not been declared
gstmusepackreader.h:32: error: ISO C++ forbids declaration of `offset' with no type
gstmusepackreader.h:33: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:34: error: `mpc_int32_t' does not name a type
In file included from gstmusepackdec.cpp:24:
gstmusepackdec.h:51: error: ISO C++ forbids declaration of `MPC_decoder' with no
type
gstmusepackdec.h:51: error: expected `;' before '*' token
gstmusepackdec.cpp: In function `void gst_musepackdec_init(GstMusepackDec*)':
gstmusepackdec.cpp:136: error: 'struct _GstMusepackDec' has no member named 'dec'
In file included from gstmusepackreader.cpp:27:
gstmusepackreader.h:23:30: musepack/mpc_dec.h: No such file or directory
gstmusepackdec.cpp: In function `gboolean gst_musepackdec_src_query(GstPad*,
GstQueryType, GstFormat*, gint64*)':
gstmusepackdec.cpp:276: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `gboolean gst_musepackdec_src_convert(GstPad*,
GstFormat, gint64, GstFormat*, gint64*)':
gstmusepackdec.cpp:305: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `gboolean
gst_musepack_stream_init(GstMusepackDec*)':
gstmusepackdec.cpp:364: error: `StreamInfo' undeclared (first use this function)
gstmusepackdec.cpp:364: error: (Each undeclared identifier is reported only once
for each function it appears in.)
gstmusepackdec.cpp:364: error: expected `;' before "si"
gstmusepackdec.cpp:367: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:368: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:371: error: `si' undeclared (first use this function)
gstmusepackdec.cpp:371: error: `ERROR_CODE_OK' undeclared (first use this function)
gstmusepackdec.cpp:377: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:377: error: `MPC_decoder' has not been declared
gstmusepackdec.cpp:378: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:385: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:388: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:389: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:400: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:401: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `void gst_musepackdec_loop(GstElement*)':
gstmusepackdec.cpp:421: error: 'struct _GstMusepackDec' has no member named 'dec'
In file included from gstmusepackreader.cpp:27:
gstmusepackreader.h:26: error: expected class-name before '{' token
gstmusepackreader.h:31: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:32: error: `mpc_int32_t' has not been declared
gstmusepackreader.h:32: error: ISO C++ forbids declaration of `offset' with no type
gstmusepackreader.h:33: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:34: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:39: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:84: error: `bool GstMusepackReader::seek' is not a static
member of `class GstMusepackReader'
gstmusepackreader.cpp:84: error: `mpc_int32_t' was not declared in this scope
gstmusepackreader.cpp:85: error: expected `,' or `;' before '{' token
gstmusepackreader.cpp:129: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:135: error: `mpc_int32_t' does not name a type
gstmusepackdec.cpp:430: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:447: error: `MPC_decoder' has not been declared
gstmusepackdec.cpp:447: error: `DecodeBufferLength' undeclared (first use this
function)
gstmusepackdec.cpp:448: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:448: error: `MPC_SAMPLE_FORMAT' undeclared (first use this
function)
gstmusepackdec.cpp:448: error: expected primary-expression before ')' token
gstmusepackdec.cpp: In function `GstElementStateReturn
gst_musepackdec_change_state(GstElement*)':
gstmusepackdec.cpp:483: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:485: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:486: error: 'struct _GstMusepackDec' has no member named 'dec'
make: *** [libgstmusepack_la-gstmusepackreader.lo] Erreur 1
make: *** Attente des t
Comment 1 Matthieu Le Jeune 2005-02-19 11:19:17 UTC
The api for libmusepack has changed in libmusepack 1.1 and the current gstreamer plugins is broken. Amarok, for example, crashes while trying to play a mpc file with the compiled-against-old-lib gst-plugin with the new lib installed. The new library is needed by xmms-musepack so downgrade is not possible.

Problem seems fixed in cvs so a patch is maybe possible (see : 
http://cvs.freedesktop.org/gstreamer/gst-plugins/ext/musepack/gstmusepackdec.c?rev=1.4&view=log 
), where it says : 

Update to 1.1 API (#165446).

Reproducible: Always
Steps to Reproduce:
1. emerge libmusepack gst-plugins-musepack
Actual Results:  
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gst-libs
-I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread
-I/usr/include/gstreamer-0.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libxml2 -DGST_DISABLE_DEPRECATED -Wall -O2 -mtune=athlon-xp
-march=athlon-xp -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
-fomit-frame-pointer -MT libgstmusepack_la-gstmusepackdec.lo -MD -MP -MF
.deps/libgstmusepack_la-gstmusepackdec.Tpo -c gstmusepackdec.cpp  -fPIC -DPIC -o
.libs/libgstmusepack_la-gstmusepackdec.o
 i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../gst-libs
-I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread
-I/usr/include/gstreamer-0.8 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libxml2 -DGST_DISABLE_DEPRECATED -Wall -O2 -mtune=athlon-xp
-march=athlon-xp -pipe -fforce-addr -falign-functions=4 -fprefetch-loop-arrays
-fomit-frame-pointer -MT libgstmusepack_la-gstmusepackreader.lo -MD -MP -MF
.deps/libgstmusepack_la-gstmusepackreader.Tpo -c gstmusepackreader.cpp  -fPIC
-DPIC -o .libs/libgstmusepack_la-gstmusepackreader.o
In file included from gstmusepackdec.cpp:24:
gstmusepackdec.h:25:30: musepack/mpc_dec.h: No such file or directory
In file included from gstmusepackdec.h:26,
                 from gstmusepackdec.cpp:24:
gstmusepackreader.h:26: error: expected class-name before '{' token
gstmusepackreader.h:31: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:32: error: `mpc_int32_t' has not been declared
gstmusepackreader.h:32: error: ISO C++ forbids declaration of `offset' with no type
gstmusepackreader.h:33: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:34: error: `mpc_int32_t' does not name a type
In file included from gstmusepackdec.cpp:24:
gstmusepackdec.h:51: error: ISO C++ forbids declaration of `MPC_decoder' with no
type
gstmusepackdec.h:51: error: expected `;' before '*' token
gstmusepackdec.cpp: In function `void gst_musepackdec_init(GstMusepackDec*)':
gstmusepackdec.cpp:136: error: 'struct _GstMusepackDec' has no member named 'dec'
In file included from gstmusepackreader.cpp:27:
gstmusepackreader.h:23:30: musepack/mpc_dec.h: No such file or directory
gstmusepackdec.cpp: In function `gboolean gst_musepackdec_src_query(GstPad*,
GstQueryType, GstFormat*, gint64*)':
gstmusepackdec.cpp:276: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `gboolean gst_musepackdec_src_convert(GstPad*,
GstFormat, gint64, GstFormat*, gint64*)':
gstmusepackdec.cpp:305: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `gboolean
gst_musepack_stream_init(GstMusepackDec*)':
gstmusepackdec.cpp:364: error: `StreamInfo' undeclared (first use this function)
gstmusepackdec.cpp:364: error: (Each undeclared identifier is reported only once
for each function it appears in.)
gstmusepackdec.cpp:364: error: expected `;' before "si"
gstmusepackdec.cpp:367: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:368: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:371: error: `si' undeclared (first use this function)
gstmusepackdec.cpp:371: error: `ERROR_CODE_OK' undeclared (first use this function)
gstmusepackdec.cpp:377: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:377: error: `MPC_decoder' has not been declared
gstmusepackdec.cpp:378: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:385: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:388: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:389: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:400: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:401: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp: In function `void gst_musepackdec_loop(GstElement*)':
gstmusepackdec.cpp:421: error: 'struct _GstMusepackDec' has no member named 'dec'
In file included from gstmusepackreader.cpp:27:
gstmusepackreader.h:26: error: expected class-name before '{' token
gstmusepackreader.h:31: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:32: error: `mpc_int32_t' has not been declared
gstmusepackreader.h:32: error: ISO C++ forbids declaration of `offset' with no type
gstmusepackreader.h:33: error: `mpc_int32_t' does not name a type
gstmusepackreader.h:34: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:39: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:84: error: `bool GstMusepackReader::seek' is not a static
member of `class GstMusepackReader'
gstmusepackreader.cpp:84: error: `mpc_int32_t' was not declared in this scope
gstmusepackreader.cpp:85: error: expected `,' or `;' before '{' token
gstmusepackreader.cpp:129: error: `mpc_int32_t' does not name a type
gstmusepackreader.cpp:135: error: `mpc_int32_t' does not name a type
gstmusepackdec.cpp:430: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:447: error: `MPC_decoder' has not been declared
gstmusepackdec.cpp:447: error: `DecodeBufferLength' undeclared (first use this
function)
gstmusepackdec.cpp:448: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:448: error: `MPC_SAMPLE_FORMAT' undeclared (first use this
function)
gstmusepackdec.cpp:448: error: expected primary-expression before ')' token
gstmusepackdec.cpp: In function `GstElementStateReturn
gst_musepackdec_change_state(GstElement*)':
gstmusepackdec.cpp:483: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:485: error: 'struct _GstMusepackDec' has no member named 'dec'
gstmusepackdec.cpp:486: error: 'struct _GstMusepackDec' has no member named 'dec'
make: *** [libgstmusepack_la-gstmusepackreader.lo] Erreur 1
make: *** Attente des tâches non terminées....
make: *** [libgstmusepack_la-gstmusepackdec.lo] Erreur 1



emerge info
Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3,
glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r6 i686)
=================================================================
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Feb 17 2005, 21:32:22)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -mtune=athlon-xp -march=athlon-xp -pipe -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mtune=athlon-xp -march=athlon-xp -pipe -fforce-addr
-falign-functions=4 -fprefetch-loop-arrays -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://ftp.proxad.net/mirrors/ftp.gentoo.org/
http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="fr_FR@euro"
LC_ALL="fr_FR@euro"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X a52 aac aalib alsa apache2 apm audiofile avi bash-completion
berkdb bitmap-fonts cdr crypt cups curl dillo dvd dvdr emboss encode esd f77
faac faad fam flac font-server foomaticdb fortran gdbm ggi gif gimpprint gnome
gnutls gpm gstreamer gtk gtk2 hal imagemagick imap imlib ithreads java jpeg ldap
libg++ libwww lirc mad matroska mikmod mime mmx mozilla mpeg mysql ncurses nls
nntp nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline
samba sdl silc silci slang sox speex spell sqlite sse ssl svg tcltk tcpd theora
tiff truetype truetype-fonts type1-fonts xml xml2 xmms xprint xv xvid zlib"
Unset:  ASFLAGS, CBUILD, CTARGET
Comment 2 Matthieu Le Jeune 2005-02-19 11:35:43 UTC

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