[MPlayer-users] cvs breaks liba52, indicative of a needed project policy change

Sascha Sommer saschasommer at freenet.de
Wed Jun 30 07:13:08 CEST 2004


On Wednesday 30 June 2004 01:14, Rob Prowel wrote:
> ya know, this policy of asking users to check/use cvs
> before reporting bugs, or to see if a bug is fixed in
> cvs first, doesn't work well.  Too often previously
> working functions get broken in cvs and I really don't
> have the time or internet connection speed to
> contribute bug testing labor that frequently.  I
> suspect that I'm not alone in this frustration.

The cvs of mplayer is meant to be stable and I never had problems with it.
If something is broken then only for a few hours. And if you notice things 
went broken within a few days it is definitly a lot easier to fix them as if 
you only have the diff between to releases, that is usually quite big. 
Moreover the releases are nothing more than cvs snapshots from a specfic day.

> How about 1) keeping cvs to the developers, 2)
> developers actually testing out their proposed fixes
> themselves first, and 3) sending unified diff patches

Nowadays the problem is tha MPlayer runs of all kinds of hardware and 
operating systems with numerous configurations. Many of us for example don't 
use the GUI at all or do not have certain hardware etc. The patches are 
always tested, but you can never be sure if they will work everywhere.

> (diff -u last_stable_release test_fix) to the reporter
> of the bug instead of expecting general users to
> absorb any and all changes that have been incorporated
> into the latest unstable cvs version?  cvs releases
> are traditionally just too unstable and it is really
> too aggressive of a policy to ask the general users to
> get involved to the point of bug testing cvs releases.
>

We need the help of the users and you won't have to update MPlayer everyday,
but if you notice something is broken, then please try to find out if it is 
still broken in current cvs and what made it broken.
And as I said cvs of mplayer should always be stable. Of course things
sometimes get broken, but if you are subscribed to -cvslog and you notice
a break (eg mplayer doesn't compile anymore), just reply to this list and I'm
sure someone will fix it asap. 

> now, onto my specific problem...here's the make error
>
> cc -I../libvo -I../../libvo -I/usr/X11/include -O4
> -march=pentium3 -mcpu=pentium3 -pipe -ffast-math
> -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64  -Ilibmpdemux -Iloader -Ilibvo
> -I/usr/include/freetype2   -I/usr/local/include/SDL
> -D_REENTRANT -I/usr/X11/include       -o mplayer
> mplayer.o mp_msg.o cpudetect.o codec-cfg.o spudec.o
> playtree.o playtreeparser.o asxparser.o vobsub.o
> subreader.o sub_cc.o find_sub.o m_config.o m_option.o
> parser-cfg.o m_struct.o unrarlib.o mixer.o
> parser-mpcmd.o libvo/libvo.a libao2/libao2.a
> libmenu/libmenu.a vidix/libvidix.a
> libmpcodecs/libmpcodecs.a mp3lib/libMP3.a
> liba52/liba52.a libmpeg2/libmpeg2.a loader/libloader.a
> loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a
> libaf/libaf.a libmpdemux/libmpdemux.a input/libinput.a
> postproc/libswscale.a osdep/libosdep.a -Llibmpdvdkit2
> -lmpdvdkit libavcodec/libavcodec.a   -lmad -lvorbis
> -logg -ldv    -ldivxdecore -lmp3lame -lvorbis -logg
> -lxvidcore -lm -lpng -lz -lz -ljpeg -lasound -ldl
> -lpthread    -lfreetype  -lcdda_interface
> -lcdda_paranoia -lnsl  -lungif  -lsmbclient
> libfaad2/libfaad2.a
> libavcodec/libpostproc/libpostproc.so  -laa -lGL
> -lXxf86dga -lXv  -lXxf86vm -lXinerama -L/usr/X11R6/lib
> -lXext -lX11 -lnsl -lmad -lnsl -L/usr/local/lib
> -Wl,-rpath,/usr/local/lib -lSDL -lpthread
> -ldirectfb  -L/opt/kde3/lib -ldl -lartsc -lpthread
> -L/usr/lib -lesd -laudiofile -lm     -llirc_client
> -lpthread -ldl -rdynamic   -lm
> libavcodec/libavcodec.a(parse.o): In function
> `a52_syncinfo':
> /usr/home/rprowel/ffmpeg/libavcodec/liba52/parse.c:81:
> multiple definition of `a52_syncinfo'
> liba52/liba52.a(parse.o)(.text+0x0): first defined
> here
> /usr/bin/ld: Warning: size of symbol `a52_syncinfo'
> changed from 318 to 330 in
> libavcodec/libavcodec.a(parse.o)
> libavcodec/libavcodec.a(parse.o): In function
> `a52_frame':
> /usr/home/rprowel/ffmpeg/libavcodec/liba52/parse.c:126:
> multiple definition of `a52_frame'
> liba52/liba52.a(parse.o)(.text+0x140): first defined
> here
> /usr/bin/ld: Warning: size of symbol `a52_frame'
> changed from 759 to 1483 in
> libavcodec/libavcodec.a(parse.o)
> libavcodec/libavcodec.a(parse.o): In function
> `a52_block':
> /usr/home/rprowel/ffmpeg/libavcodec/liba52/parse.c:552:
> multiple definition of `a52_block'
> liba52/liba52.a(parse.o)(.text+0x440): first defined
> here
> /usr/bin/ld: Warning: size of symbol `a52_block'
> changed from 6064 to 6338 in
> libavcodec/libavcodec.a(parse.o)
> libavcodec/libavcodec.a(parse.o): In function
> `a52_init':
> /usr/home/rprowel/ffmpeg/libavcodec/liba52/parse.c:48:
> multiple definition of `a52_init'
> liba52/liba52.a(parse.o)(.text+0x1bf0): first defined
> here
> /usr/bin/ld: Warning: size of symbol `a52_init'
> changed from 119 to 130 in
> libavcodec/libavcodec.a(parse.o)
> libavcodec/libavcodec.a(parse.o): In function
> `a52_dynrng':
> /usr/home/rprowel/ffmpeg/libavcodec/liba52/parse.c:202:
> multiple definition of `a52_dynrng'
> liba52/liba52.a(parse.o)(.text+0x1c70): first defined
> here
> /usr/bin/ld: Warning: size of symbol `a52_dynrng'
> changed from 37 to 38 in
> libavcodec/libavcodec.a(parse.o)
> collect2: ld returned 1 exit status
> make: *** [mplayer] Error 1
>
> I separately compile and install ffmpeg first,
> enabling gpl code and creating dynamic loaded
> libraries ...mplayer needs to better make use of
> pre-installed versions of ffmpeg instead of
> recompiling the libavcodecs when the so already
> exists.  same goes for liba52.  why include a liba52
> directory if the user already has installed liba52.so
> from a different source?
>

That is currently not possible. One problem is performance,
don't remember the others right now, but your problem
should be gone when you compile mplayer with static
ffmpeg and liba52.

Hope this helps...


Sascha




More information about the MPlayer-users mailing list