1) mpeg4ip doesn't include anymore xvid source code 2) now, it's impossible to build mpeg4ip without X, gtk+ and sdl using the proposed patch you can compile it without X, gtk+ and sdl (disabling mp4live and mp4player) Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.8.1 i686) ================================================================= System uname: 2.6.8.1 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.16 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -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/lib/fax /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 /var/spool/fax/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://www.gigaload.org/gentoo.org/ http://gentoo.mirror.icd.hu/ ftp://ftp.linux.ee/pub/gentoo/distfiles/" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages/x86/desktop" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://10.0.4.11/gentoo-portage" USE="X aac aalib acl acpi acpi4linux adns aliaschain alsa altcolors amd apache2 apm aredmem arts artswrappersuid atlas atm audiofile avi ba-completion berkdb bitmap-fonts blas bonobo cdb cddb cdparanoia cdr cdrom cjk clamav codecs crypt cups devfs26 dga divx4linux djbfft dlz dv dvd dvdr dvdread edl encode esd ethereal evo extensions f77 faac faad fam fbcon festival ffmpeg fftw flac flood font-server foomaticdb fortran freetts freetype frlargefiles gdbm gif gimp gimpprint glut gnokii gnome gphoto2 gpm gps gs gsm gstreamer gtk gtk2 gtkhtml guild ieee1394 imagemagick imlib imlib2 innodb ipv6 irda irmc jabber2 jack javajp2 jpeg jpeg2k junit kadu-modules kadu-voice kde kerberos lcms ldap ldirectord libg++ libwww lirc live lzo lzw lzw-tiff mad maildir maildrop mailwrapper matroska mbrola mdb mew mha mikmod mime mimencode mmap mmx mng motif mozcalendar mozdevelop mozilla mozsvg mozxmlterm mp3 mpeg mpeg4 mplayer msdav mysql mythtv ncursees ncurses network neural nls nntp ntlm nvidia oav odbc oggvorbis openal opengl opens opie oss pam pcmcia pcre pda pdf pdfkit pdflib perl php png pnp postgres ppds procmail pthreads pwdb python qmail qt quicktime quotes radeon readline remote roundrobin samba sasl scanner sdl slang sms snmp speex spel spell sqlite ssl svg svga szip tcltk tcpd tetex tga tiff tinydyndns transcode truetype type1 type1-fonts unicode v4l v4l2 vda vhosts vim vim-with-x virus-scan wmf wsconvert x86 xine xinerama xinetd xml xml2 xmms xosd xpm xv xvid yv12 zaptel zlib"
Created attachment 45818 [details, diff] some dep fixes, fixed compilation without X
This is promising and very useful to me indeed. Like you, I could not get mpeg4ip to build without xorg-x11, gtk+, and sdl. I didn't want this for a console only server I'm using to trancode mpeg-2 files to mpeg-4 files. Ran Christian's patch successfully. Uninstalled xorg-x11 and gtk+. Ran emerge against the patched mpeg4ip-1.1 ebuild...but it failed. Making all in yuv make[3]: Entering directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/util/yuv' if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../include -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -march=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -MT yuvdump.o -MD -MP -MF ".deps/yuvdump.Tpo" \ -c -o yuvdump.o `test -f 'yuvdump.cpp' || echo './'`yuvdump.cpp; \ then mv -f ".deps/yuvdump.Tpo" ".deps/yuvdump.Po"; \ else rm -f ".deps/yuvdump.Tpo"; exit 1; \ fi /bin/sh ../../libtool --mode=link g++ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -march=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -o yuvdump yuvdump.o -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lm -ldl mkdir .libs g++ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -march=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -o yuvdump yuvdump.o -Wl,-rpath -Wl,/usr/lib -L/usr/lib /usr/lib/libSDL.so /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/../../i686-pc-linux-gnu/lib -lgcc_s -lc /usr/lib/libasound.so -L/usr/X11R6/lib -lX11 -lXext -lpthread -lm -ldl -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -Wl,--rpath -Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lX11 collect2: ld returned 1 exit status distcc[11792] ERROR: compile (null) on localhost failed make[3]: *** [yuvdump] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/util/yuv' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/util' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.1 failed. !!! Function src_compile, Line 73, Exitcode 2 My emerge info in case I'm missing something obvious: Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r8 i686) ================================================================= System uname: 2.6.9-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acpi alsa apache2 apm audiofile avi bash-completion berkdb bzlib crypt divx4linux encode flac gdbm imagemagick libg++ libwww mad mmx mpeg mssql ncurses nls nptl nptlonly oggvorbis pam perl python quicktime readline samba sdl simplexml sndfile soap speex sse ssl tcpd theora x86 xml xml2 xmlrpc xvid zlib"
reply to comment #2: you are right I made a mistake, I've fixed the patch. Now you need libsdl (you can compile it without X support), but X and gtk+ isn't needed.
Created attachment 46002 [details, diff] some dep fixes, fixed compilation without X - FIXED
doesnt mpeg4ip include its own libsdl? Can you confirm that libsdl is always needed ?
reply comment #5 Yes, now is always needed.
Applied Christian's latest patch on a console only server. SUCCESS! Thanks, Christian.
This should be in the 1.2 ebuild now using thr "gtk" use flag.. please test..
Emerging mpeg4ip-1.2 without Christian's patch brakes because it can't find Xlib.h: /bin/sh ../../libtool --mode=link g++ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -DPLAYER_PLUGIN_DIR=\"/usr/lib/mp4player_plugin\" -march=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP -I/usr/include/SDL -D_REENTRANT -o libmp4playerutils.la our_bytestream_file.lo player_util.lo -ldl In file included from video_sdl.cpp:31: /usr/include/SDL/SDL_syswm.h:55:22: X11/Xlib.h: No such file or directory /usr/include/SDL/SDL_syswm.h:56:23: X11/Xatom.h: No such file or directory distcc[6174] ERROR: compile video_sdl.cpp on poe failed make[4]: *** [video_sdl.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... ar cru .libs/libmp4playerutils.a .libs/our_bytestream_file.o .libs/player_util.o ranlib .libs/libmp4playerutils.a creating libmp4playerutils.la (cd .libs && rm -f libmp4playerutils.la && ln -s ../libmp4playerutils.la libmp4playerutils.la) g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I. -I../../common/video/mpeg4 -I./codec -I./codec/mpeg4 -I../lib -I../lib/audio -I../../lib/SDLAudio/include -I../../lib/mp4 -I../../lib/mp4v2 -I../../lib/ismacryp -I../../include -I../../include -I../../lib/avi -I../../lib -I../../lib/mpeg2ps -I../../lib/sdp -I../../lib/mp4av -I../../lib/utils -I../../lib/audio -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -DPLAYER_PLUGIN_DIR=\"/usr/lib/mp4player_plugin\" -march=pentium4 -O3 -pipe -fomit-frame-pointer -DUSE_MMX -DMPEG4IP-I/usr/include/SDL -D_REENTRANT -MT audio_buffer.lo -MD -MP -MF .deps/audio_buffer.Tpo -c audio_buffer.cpp -o audio_buffer.o >/dev/null 2>&1 make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.2/work/mpeg4ip-1.2/player/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.2/work/mpeg4ip-1.2/player/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.2/work/mpeg4ip-1.2/player' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.2/work/mpeg4ip-1.2' make: *** [all] Error 2 After applying Christian's fixed patch, I attempted to emerge mpeg4ip-1.2 again...SUCCESS. My emerge info for reference: Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r9 i686) ================================================================= System uname: 2.6.9-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.4.16 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://mirrors.tds.net/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 aac acl acpi alsa apache2 apm audiofile avi bash-completion berkdb bzlib cdr crypt divx4linux encode flac gdbm imagemagick imap innodb libwwwmad maildir mikmod mime mmx mpeg mysql ncurses nls nptl nptlonly oggvorbis perl php python quicktime readline samba sdl simplexml sndfile soap speex sse ssl tcpd theora vhosts xml xml2 xmlrpc xsl xvid zlib"
arg I might have forgotten one thing.. re-opening... Thanks for the testing
forgot the --disable-player ... its now in.. and I finally decided to change the use flag from gtk to X..
SUCCESS. Thank you and well done, Olivier and Christian.