Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 61451 - media-video/mplayer-1.0_pre4-r7 broken configure
Summary: media-video/mplayer-1.0_pre4-r7 broken configure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-23 16:45 UTC by Martin Mokrejš
Modified: 2004-10-23 19:20 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Mokrejš 2004-08-23 16:45:53 UTC
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.
Comment 1 Chris White (RETIRED) gentoo-dev 2004-08-25 20:33:30 UTC
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.
Comment 2 Martin Mokrejš 2004-08-25 23:46:52 UTC
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
Comment 3 Martin Mokrejš 2004-10-20 01:40:13 UTC
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"
Comment 4 Chris White (RETIRED) gentoo-dev 2004-10-23 19:20:05 UTC
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.