[MPlayer-users] newest cvs sources(12.10.2003) compiling error(when linking to mplayer)

D Richard Felker III dalias at aerifal.cx
Sun Oct 12 17:10:20 CEST 2003


On Sun, Oct 12, 2003 at 03:51:00AM +0200, Sebastian Stammler wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> hi,
> i just sync'd my mplayer sources with cvs and i configured like this:
> 
> --enable-gui --enable-largefiles --enable-smb --enable-tv-v4l2 
> --enable-xmms --enable-menu --disable-theora --language=de,en 
> --enable-libavcodec
> 
> first of all comes the known bug when compiling subreader.c:
> i have to change manually -O4 -> -O1 for this file (no prob oO)
> 
> later the same by the file libfaad2/syntax.c, but this doesnt matter.
> 
> i've just updated my ffmpeg cvs tree to newest, built it and cp'd 
> libavcodec/ to the main dir from mplayer-sources. even if i let AV_LIB 
> and AV_DEP to libavcodec/libavcodec.a
> or if i comment out AV_DEP and change AV_LIB = libavcodec/libavcodec.a 
> to AV_LIB = -lavcodec
> there is no change at all in the result...after a few minutes `make` 
> shows this:
> -------------------------------
> 
> ./darwinfixlib.sh mplayer.o mp_msg.o cpudetect.o codec-cfg.o spudec.o 
> playtree.o playtreeparser.o asxparser.o vobsub.o subre
> ader.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 loader/libloader.
> a loader/dshow/libDS_Filter.a loader/dmo/libDMO_Filter.a 
> libavcodec/libavcodec.a libmpdemux/libmpdemux.a libmpcodecs/libmpc
> odecs.a libao2/libao2.a liba52/liba52.a mp3lib/libMP3.a 
> libmpeg2/libmpeg2.a osdep/libosdep.a postproc/libswscale.a input/lib
> input.a libvo/libvo.a libaf/libaf.a libfaad2/libfaad2.a libdha/libdha.so 
> vidix/libvidix.a libmpdvdkit2/libmpdvdkit.a Gui/lib
> gui.a libmpflac/libmpflac.a libmenu/libmenu.a
> gcc -O4 -march=athlon-xp -pipe -ffast-math -fomit-frame-pointer 
> -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Ili
> bmpdemux -Iloader -Ilibvo -I/usr/include/freetype2 
> -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I
> /usr/X11R6/include   -I/usr/X11R6/include    -o mplayer mplayer.o 
> mp_msg.o cpudetect.o codec-cfg.o spudec.o playtree.o playt
> reeparser.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 mi
> xer.o parser-mpcmd.o libvo/libvo.a libao2/libao2.a libmenu/libmenu.a 
> vidix/libvidix.a Gui/libgui.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 l
> ibavcodec/libavcodec.a   -lvorbis -logg     -ldivxdecore -lxvidcore 
> -lpng -lz -lz -ljpeg  /usr/lib/libxmms.so.1 -export-dyna
> mic   -lfreetype -ltermcap  -lnsl   -lungif  -lsmbclient  -Llibmpflac 
> -lmpflac libfaad2/libfaad2.a  -L/usr/lib -L/usr/X11R6/
> lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXi -lXext -lX11 -lm 
> -L/usr/lib -lglib  -lGL -lXxf86dga -lXv  -lXxf86vm -lX
> inerama -L/usr/X11R6/lib -lXext -lX11 -lnsl  -lnsl        -L/usr/lib 
> -ldl -lartsc -lpthread -L/usr/lib -lesd -laudiofile -lm
>        -lpthread -ldl -rdynamic   -lm
> 
> 
> libvo/libvo.a(osd.o): In function `vo_draw_alpha_yv12':
> osd.o(.text+0x6d): undefined reference to `bFF'
> libvo/libvo.a(osd.o): In function `vo_draw_alpha_yuy2':
> osd.o(.text+0x126): undefined reference to `bFF'
> libvo/libvo.a(osd.o): In function `vo_draw_alpha_rgb32':
> osd.o(.text+0x2b1): undefined reference to `bFF'
> mp3lib/libMP3.a(decode_i586.o): In function `synth_1to1_pent':
> decode_i586.o(.text+0x21): undefined reference to `bo'
> decode_i586.o(.text+0x31): undefined reference to `bo'
> mp3lib/libMP3.a(decode_MMX.o): In function `synth_1to1_MMX_s':
> decode_MMX.o(.text+0xfb): undefined reference to `one_null'
> decode_MMX.o(.text+0x102): undefined reference to `null_one'
> mp3lib/libMP3.a(decode_MMX.o): In function `.next_loop':
> decode_MMX.o(.text+0x207): undefined reference to `one_null'
> decode_MMX.o(.text+0x20e): undefined reference to `null_one'
> mp3lib/libMP3.a(tabinit_MMX.o): In function `make_decode_tables_MMX':
> tabinit_MMX.o(.text+0x46): undefined reference to `intwindiv'
> mp3lib/libMP3.a(dct64_3dnow.o): In function `dct64_MMX_3dnow':
> dct64_3dnow.o(.text+0x679): undefined reference to `plus_1f'
> mp3lib/libMP3.a(dct64_k7.o): In function `dct64_MMX_3dnowex':
> dct64_k7.o(.text+0x4d5): undefined reference to `plus_1f'
> liba52/liba52.a(resample.o): In function `a52_resample_MONO_to_5_MMX':
> resample.o(.text+0x916): undefined reference to `magicF2W'
> resample.o(.text+0x91d): undefined reference to `wm1100'
> resample.o(.text+0x924): undefined reference to `wm0101'
> resample.o(.text+0x92b): undefined reference to `wm1010'
> liba52/liba52.a(resample.o): In function `a52_resample_STEREO_to_2_MMX':
> resample.o(.text+0x9ad): undefined reference to `magicF2W'
> liba52/liba52.a(resample.o): In function `a52_resample_3F_to_5_MMX':
> resample.o(.text+0xa26): undefined reference to `magicF2W'
> liba52/liba52.a(resample.o): In function `a52_resample_2F_2R_to_4_MMX':
> resample.o(.text+0xb0d): undefined reference to `magicF2W'
> liba52/liba52.a(resample.o): In function `a52_resample_3F_2R_to_5_MMX':
> resample.o(.text+0xbe6): undefined reference to `magicF2W'
> liba52/liba52.a(resample.o): In function `a52_resample_MONO_LFE_to_6_MMX':
> resample.o(.text+0xd16): undefined reference to `magicF2W'
> liba52/liba52.a(resample.o)(.text+0xdc6): more undefined references to 
> `magicF2W' follow
> liba52/liba52.a(imdct.o): In function `imdct_do_512_sse':
> imdct.o(.text+0x6cd2): undefined reference to `bit_reverse_512'
> imdct.o(.text+0x6d61): undefined reference to `ps111_1'
> postproc/libswscale.a(swscale.o): In function `swScale_MMX2':
> swscale.o(.text+0x8d00): undefined reference to `bgr2YCoeff'
> swscale.o(.text+0x8d07): undefined reference to `w1111'
> swscale.o(.text+0x8dab): undefined reference to `bgr2YOffset'
> swscale.o(.text+0x949e): undefined reference to `w1111'
> swscale.o(.text+0x94a5): undefined reference to `bgr2UCoeff'
> swscale.o(.text+0x9500): undefined reference to `bgr2VCoeff'
> swscale.o(.text+0x9507): undefined reference to `bgr2VCoeff'
> swscale.o(.text+0x9561): undefined reference to `bgr2VCoeff'
> swscale.o(.text+0x9568): undefined reference to `bgr2VCoeff'
> swscale.o(.text+0x959d): undefined reference to `bgr2UVOffset'
> swscale.o(.text+0xb0b5): undefined reference to `bgr2YCoeff'
> swscale.o(.text+0xb0bc): undefined reference to `w1111'
> swscale.o(.text+0xb15b): undefined reference to `bgr2YOffset'
> swscale.o(.text+0xb86d): undefined reference to `w1111'
> 
> [...]
> 
> dsputil_mmx.o(.text+0x3f69f): undefined reference to `ff_pw_3'
> dsputil_mmx.o(.text+0x3f6c0): undefined reference to `ff_pw_20'
> dsputil_mmx.o(.text+0x3f6ec): undefined reference to `ff_pw_3'
> dsputil_mmx.o(.text+0x3f70a): undefined reference to `ff_pw_20'
> dsputil_mmx.o(.text+0x3f736): undefined reference to `ff_pw_3'
> libavcodec/libavcodec.a(motion_est_mmx.o): In function 
> `pix_abs8x8_xy2_mmx2':
> motion_est_mmx.o(.text+0xbf3): undefined reference to `bone'
> libavcodec/libavcodec.a(motion_est_mmx.o): In function 
> `pix_abs16x16_xy2_mmx2':
> motion_est_mmx.o(.text+0xfe3): undefined reference to `bone'
> motion_est_mmx.o(.text+0x1063): undefined reference to `bone'
> libavcodec/libavcodec.a(simple_idct_mmx.o): In function 
> `ff_simple_idct_mmx':
> simple_idct_mmx.o(.text+0x26): undefined reference to `wm1010'
> simple_idct_mmx.o(.text+0x126): undefined reference to `d40000'
> libavcodec/libavcodec.a(simple_idct_mmx.o): In function 
> `ff_simple_idct_add_mmx':
> simple_idct_mmx.o(.text+0x1e6a): undefined reference to `wm1010'
> simple_idct_mmx.o(.text+0x1f66): undefined reference to `d40000'
> libavcodec/libavcodec.a(simple_idct_mmx.o): In function 
> `ff_simple_idct_put_mmx':
> simple_idct_mmx.o(.text+0x3c5a): undefined reference to `wm1010'
> simple_idct_mmx.o(.text+0x3d56): undefined reference to `d40000'
> collect2: ld returned 1 exit status
> make: *** [mplayer] Fehler 1
> ------------------------------------------
> 
> error in cvs sources? wrong config?

For these link errors, please make sure you are recompiling the whole
thing (clean tree -- make distclean!) from scratch. As for the
original problem you are having, it was clearly caused by a buggy
compiler. (Whenever lowering -O fixes a problem, it means buggy
compiler.) You should report which gcc version you are using (so we
can document that it's buggy) and switch to a working version.

Rich



More information about the MPlayer-users mailing list