I spent some time figuring out why mplayer doesn't play some windows avi files. Well, I have win32codecs installed, but the problem is they aren't picked up by mplayer's configure. I found several other cases, like libfame not being picked up unless --enable-libfame is used. Similar happens for some other options ... Someone should fix that all. configure doesn't check that path specified below contains headers. The correct way is: --with-livelibdir=/usr/lib/live but originally I did --with-livelibdir=/usr/lib/live/liveMedia and only during real compilation I got errors about missing header files. :( I should have been warned a lot earlier. RealPlayer codes aren't ound if --enable-real is used, but if that's omitted they are automagically detected. :( Here's what I got so far at the best: ./configure --prefix=/usr --confdir=/usr/share/mplayer --datadir=/usr/share/mplayer --disable-runtime-cpudetection --enable-largefiles --enable-menu --with-x11incdir=/usr/X11R6/include --enable-fribidi --with-livelibdir=/usr/lib/live [cut] Enabled optional drivers: Input: ftp network tv-v4l2 tv-v4l tv live.com matroska(internal) cdda dvdread vcd smb Codecs: qtx divx5linux xvid libdv libavcodec real xanim dshow/dmo win32 faad2(external) libmpeg2 liba52 mp3lib libvorbis libmad liblzo gif Audio output: alsa esd arts oss sdl mpegpes(file) Video output: xvidix cvidix sdl vesa gif89a jpeg png mpegpes(file) fbdev svga aa ggi opengl dga xvmc xv x11 xover dfbmga directfb Disabled optional drivers: Input: tv-bsdbt848 edl mpdvdkit dvb Codecs: divx4linux libtheora Audio output: sgi sun jack dxr2 nas win32 macosx Video output: winvidix bl zr zr2 dxr3 dxr2 directx caca xmga mga tga tdfx_vid tdfxfb 3dfx quartz It's still bad, as divx4linux isn't enabled. :( BTW: It seems to me that --enable-divx4compat configure option is missing in xvid*.ebuild files, so mplayer doesn't doesn't detect Divx4 API. fame inclusion is somewhat weird. In the above, I've forced --enable-fame, so it's no surprise I see: gcc -MM -I../libvo/ -I../../libvo -O4 -march=pentium4 -mcpu=pentium4 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. -Inative -I.. -I../libmpdemux -I../loader -D_GNU_SOURCE dec_audio.c ad.c ad_liba52.c ad_hwac3.c ad_mp3lib.c ad_alaw.c ad_dk3adpcm.c ad_pcm.c ad_dvdpcm.c ad_imaadpcm.c ad_msadpcm.c ad_msgsm.c ad_roqaudio.c ad_ra1428.c ad_acm.c ad_dshow.c ad_dmo.c ad_qtaudio.c ad_ffmpeg.c ad_faad.c ad_libvorbis.c ad_libmad.c ad_realaud.c ad_libdv.c dec_video.c vd.c vd_null.c vd_cinepak.c vd_raw.c vd_hmblck.c vd_fli.c vd_qtrle.c vd_roqvideo.c vd_cyuv.c vd_mpegpes.c vd_lcl.c vd_mtga.c vd_sgi.c vd_libmpeg2.c vd_nuv.c vd_lzo.c vd_realvid.c vd_ffmpeg.c vd_dshow.c vd_dmo.c vd_vfw.c vd_vfwex.c vd_odivx.c vd_divx4.c vd_zrmjpeg.c vd_xanim.c vd_xvid.c vd_xvid4.c vd_libdv.c vd_qtvideo.c vd_theora.c vd_mpng.c vd_ijpg.c vf.c vf_vo.c vf_crop.c vf_expand.c vf_scale.c vf_format.c vf_noformat.c vf_yuy2.c vf_flip.c vf_rgb2bgr.c vf_rotate.c vf_mirror.c vf_palette.c vf_lavc.c vf_dvbscale.c vf_cropdetect.c vf_test.c vf_noise.c vf_yvu9.c vf_rectangle.c vf_lavcdeint.c vf_eq.c vf_eq2.c vf_halfpack.c vf_dint.c vf_1bpp.c vf_bmovl.c vf_2xsai.c vf_unsharp.c vf_swapuv.c vf_il.c vf_boxblur.c vf_sab.c vf_smartblur.c vf_perspective.c vf_down3dright.c vf_field.c vf_denoise3d.c vf_hqdn3d.c vf_detc.c vf_telecine.c vf_tfields.c vf_ivtc.c vf_ilpack.c vf_dsize.c vf_decimate.c vf_softpulldown.c vf_tinterlace.c vf_pullup.c pullup.c vf_framestep.c vf_tile.c vf_delogo.c vf_fil.c vf_hue.c vf_spp.c vf_yuvcsp.c vf_filmdint.c vf_kerndeint.c vf_rgbtest.c vf_qp.c vf_phase.c vf_divtc.c vf_pp.c vf_fame.c native/RTjpegN.c native/cinepak.c native/fli.c native/minilzo.c native/nuppelvideo.c native/qtrle.c native/roqav.c native/xa_gsm.c native/decode144.c native/decode288.c img_format.c ve.c ve_divx4.c ve_lavc.c ve_vfw.c ve_raw.c ve_libdv.c ve_xvid.c ve_xvid4.c ve_qtvideo.c ve_nuv.c 1>.depend vf_fame.c:19:29: ../libfame/fame.h: No such file or directory make[2]: *** [depend] Error 1 make[2]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre4-r7/work/MPlayer-1.0pre4/libmpcodecs' But why "../libfame/fame.h"? I *do* have /usr/include/fame.h. And even later on: make[2]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre4-r7/work/MPlayer-1.0pre4/vidix/drivers' make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre4-r7/work/MPlayer-1.0pre4/vidix' make -C libfame make: *** libfame: No such file or directory. Stop. make: *** [libfame/libfame.a] Error 2 Exactly same for lirc. I do have gcc -c -I../libvo/ -I../../libvo -O4 -march=pentium4 -mcpu=pentium4 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I.. -o lirc.o lirc.c lirc.c:6:30: lirc/lirc_client.h: No such file or directory make[1]: *** [lirc.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre4-r7/work/MPlayer-1.0pre4/input' It seems they are expecte dto be available in the maplayer source tree. Then --help should be more clear!!! Reproducible: Always Steps to Reproduce: 1. 2. 3.
Ok, say what? first off you've got divx5linux as the codec, so why would you need an obsolete api (divx4linux) for decoding? second, live works fine, as does faad in compiling. I test with all USE flags enabled to verify this. same with lirc. Are you using the ebuild or forcing your own ./configure options? I'm somewhat confused as to what your source is. You also haven't posted emerge --info as per the bug reporting guidlines. Please re-open this bug when you've posted the appropriate information.
I use "emerge mplayer" but when it start compilation, I "cd /var/tmp/portage/..../mplayer*/work/" and rerun configure on my own. I would agree I don't have all USE flags, as comparing some IUSE values from real *.ebuild files with my make.conf and documentation of USE flags on www.gentto.org makes me conclude the documentation is incomplete. Would be nice to document them directly in ebuild file. $ emerge info Portage 2.0.50-r10 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r1, 2.6.7-bk20) ================================================================= System uname: 2.6.7-bk20 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-msse3 -O3 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-msse3 -O3 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="FFmpeg X Xaw3d aalib acpi afs alsa apache2 apm arts ati avi berkdb bidi bonobo caca cdparanoia cdr crypt cscope cups curl dga directfb divx divx4 divx4linux divx5 divx5linux doc dvb dvd dvdr dvdread emacs emacs-w3 encode esd ethereal evo f77 faad faad2 fam fame fbcon ffmpeg flash foomaticdb fortran fvwm fvwm2 gb gd gdbm ggi gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile i8x0 icc imagemagick imlib imlib2 innodb java jpeg kde kde3 lcms ldap leim libg++ libwww live lzo mad mcal mesa mikmod mmx mmx2 motif mozilla mpeg mule mysql ncurses network nls oggvorbis opengl oss pam pda pdflib perl plotutils png ppds pthread pthreads python qt qtx quicktime readline rtc ruby samba sasl scanner sdl slang slp spell sse sse2 ssl svga tcltk tcpd tetex theora thread threads tiff truetype unicode usb v4l v4l2 video_cards_radeon win32 winvidix wmf x86 xml xml2 xmms xosd xv xvid xvmc zeo zlib" Maybe you are right I don't need divx4linux for linux, but configure should pick it up anyway. Inspecting config.log tells me it couldn't find /usr/include/divx4.h. It's not installed. Googling around told me that "make install" of the original package (xvid) doesn't install it and user is suggested to copy the file manually. But mplayer's configure still doesn't select divx4linux. Is win32, live.com and real selected for you by default with proper paths? For me not. The fallback /usr/lib/real in .ebuild file get's in place for me, instead of looking for "recommended" /usr/local/RealPlayer8 or /usr/local/RealPlayer9 (as original install notes say). Back to teh use flags: why is there bidi instead of fribidi? imlib2 isn't picked up similarly by ffmpeg's configure. Look at my use flags and tell me why ... Imlib2 support no In general, mplayer*.ebuild should force more underlying packages to be installed and more USE flags to be set. If ffmpeg and many other's require USE flags to install some optional but de facto necessary options, there should be a way to check for that. Or, again, document tested USE flags required/recommended for mplayer and underlying packages. Now I have only 176 codecs, with my manually tweaked configure options I got to 180. I started about 136 I think. Just recompiling unddeerlying libs and adding USE flags. -------- should be another bugreport, but to demonstrate the interdependencies ... libquicktime doesn't pick up libavcodec from ffmpeg: checking for libavcodec... no configure:13607: checking for libavcodec configure:13625: gcc -o conftest -O3 -funroll-all-loops -fomit-frame-pointer -malign-loops=2 -malign-jumps=2 -malign-functio ns=2 -finline-functions -W -Wall -Wno-unused -Winline conftest.c -lavcodec -lm >&5 cc1: warning: -malign-loops is obsolete, use -falign-loops cc1: warning: -malign-jumps is obsolete, use -falign-jumps cc1: warning: -malign-functions is obsolete, use -falign-functions configure:13631: $? = 0 configure:13635: test -z || test ! -s conftest.err configure:13638: $? = 0 configure:13641: test -s conftest configure:13644: $? = 0 configure:13662: result: no
I've tested mplayer-1.0_pre5-r4 and the Real directory isn't found still for me: Checking for FAAD2 version ... 2.0 Checking for MacOS X SHLB (shared lib) support ... no Checking for Win32 codec DLL support ... yes (using /usr/lib/win32) Checking for Win32 loader support ... yes Checking for DirectShow ... yes Checking for XAnim DLL ... yes (using /usr/lib/xanim/mods) Checking for RealPlayer DLL ... yes (using /usr/lib/real) Checking for LIVE.COM Streaming Media libraries ... yes (using /usr/lib/live) --------------------------------------^^^^^^^^^^^^^^ Checking for FFmpeg libavcodec (static) ... yes Checking for FFmpeg libavformatc (static) ... no Checking for libdv-0.9.5+ ... yes Checking for zr ... no Checking for bl ... no Checking for XviD ... yes Checking for DivX4 compatibility in XviD ... no Checking for DivX4linux/DivX5linux/OpenDivX decore ... DivX5linux (with libdivxdecore.so) Checking for libmp3lame (for mencoder) ... yes Checking for DivX4linux encore (for mencoder) ... DivX4linux (with libdivxencore.so) # ls -la /usr/lib/real ls: /usr/lib/real: No such file or directory # Portage 2.0.50-r11 (default-x86-1.4, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-rc4) ================================================================= System uname: 2.6.9-rc4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-msse3 -O3 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.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/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-msse3 -O3 -fomit-frame-pointer -march=pentium4 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="FFmpeg X Xaw3d aalib acpi afs alsa apache2 apm arts ati avi berkdb bidi bitmap-fonts bonobo caca cdparanoia cdr crypt cscope cups curl dga directfb divx divx4 divx4linux divx5 divx5linux doc dvb dvd dvdr dvdread emacs emacs-w3 encode esd ethereal evo f77 faad faad2 fam fame fbcon ffmpeg flash foomaticdb fortran fvwm fvwm2 gb gd gdbm ggi gif gphoto2 gpm gtk gtk2 gtkhtml guile i8x0 imagemagick imlib imlib2 innodb java jpeg lcms ldap leim libg++ libwww linguas_cs linguas_cz linguas_en live lpthread lzo lzw-tiff mad mcal mesa mikmod mmx mmx2 motif mozilla mpeg mule mysql ncurses network nls oggvorbis opengl oss pam pda pdflib perl php php4 plotutils png ppds pthread pthreads python qt qtx quicktime readline rtc ruby samba sasl scanner sdl slang slp spell sse sse2 sse3 ssl svga tcltk tcpd tetex theora thread threads tiff truetype unicode usb v4l v4l2 video_cards_radeon win32 winvidix wmf x86 xml xml2 xmms xosd xprint xv xvid xvmc zeo zlib"
Real lib stuff is fixed. for stable with stable win32codecs (which is a dep), real media files can be found in /usr/lib/win32, which is where the ebuild searches for them. for unstable with unstable win32codecs, real media files are installed to /usr/lib/real instead. Thanks again for posting.