with thanks to Derk-Jan Hartman <thedj at users.sf.net> and some minor tweaking we now have a working ebuild that should support the new test3 release and above, there's a local use variable "v4l" which enables the v4l input stream Reproducible: Always Steps to Reproduce:
Created attachment 13263 [details] ebuild for the vlc-0.6.0-test3 release, (called _pre3 to fit into the portage naming)
Created attachment 13264 [details] ebuild for the vlc-0.6.0-test3 release, (called _pre3 to fit into the portage naming)
This is already outdated again. For the latest version see CVS. http://www.videolan.org/cgi-bin/cvsweb/vlc/vlc.ebuild For more information and instructions see http://wiki.videolan.org/index.php/Linux%20Gentoo 0.6.0 is real near now. ;) Should be saturday evening at its latest.
Created attachment 13744 [details] VLC 0.6.0 ebuild by VideoLAN team VLC 0.6.0 has been released. http://www.videolan.org/vlc/download-gentoo.html http://wiki.videolan.org/index.php/Linux%20Gentoo My ebuild works like a dream so far. haven't had complaints yet. I'm attaching a copy for your convenience.
Damn, something is wrong. VLC's make is recursivly calling configure again. i don't get this. build flavour : optim release vlc aliases : gvlc wxvlc qvlc kvlc To build vlc and its plugins, type `make'. cd . && /bin/sh /var/tmp/portage/vlc-0.6.0/work/vlc-0.6.0/autotools/missing --ru n aclocal-1.7 -I m4 cd . && \ /bin/sh /var/tmp/portage/vlc-0.6.0/work/vlc-0.6.0/autotools/missing --run auto make-1.7 --gnu Makefile cd . && /bin/sh /var/tmp/portage/vlc-0.6.0/work/vlc-0.6.0/autotools/missing --ru n autoconf /bin/sh ./config.status --recheck running /bin/sh ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/us r/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --l ocalstatedir=/var/lib --enable-svgalib --disable-fb --enable-aa --enable-dvdread --enable-alsa --enable-arts --disable-gtk2 --enable-kde --enable-qt --enable-nc urses --enable-skins --enable-release --enable-faad --enable-a52 --enable-dvbpsi CC=gcc CFLAGS= CXXFLAGS= CXX=g++ host_alias=i686-pc-linux-gnu --no-create --no -recursion configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu I'll call in our buildsystem guru on this. it's truly weird.
We propose the following fix to this problem http://www.videolan.org/cgi-bin/cvsweb/vlc/vlc.ebuild.diff?r1=1.9&r2=1.10&f=h I also ran into a problem with ffmpeg. There was a reason we were statically linking to that. Primarily, because it is CVS and the API is constantly changing at this moment. The other reason however is that ffmpeg can link against vorbis and libpostproc. However VLC can link to these libraries as well. This creates a symbol conflict which we cannot solve. As far as we know there is no way we can test how ffmpeg was actually constructed. Therefore we cannot adopt our own buildsystem to tackle this problem. We hope that ffmpeg will solve this in the future, but untill then there is no real way to deal with this. That is the reason we advice to link statically against ffmpeg. In the structure as proposed in the vlc ebuild from the VideoLAN team this has no further implemencations for other programs.
vlc-0.6.0 is currently in portage. please test the ebuild.
Fails for me like this: if gcc -DHAVE_CONFIG_H -I. -I. -I. -I./include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DLOCALEDIR=\"/usr/share/locale\" -DDATA_PATH=\"/usr/share/vlc\" -DPLUGIN_PATH=\"/usr/lib/vlc\" -DHAVE_RELEASE -D__VLC__ -D__BUILTIN__ -DMODULE_NAME=ffmpeg -DMODULE_NAME_IS_ffmpeg -DSYS_LINUX -O3 -ffast-math -funroll-loops -mcpu=pentiumpro -fomit-frame-pointer -I./include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_GNU_SOURCE -DLOCALEDIR=\"/usr/share/locale\" -DDATA_PATH=\"/usr/share/vlc\" -DPLUGIN_PATH=\"/usr/lib/vlc\" -DHAVE_RELEASE -D__VLC__ -D__BUILTIN__ -DMODULE_NAME=ffmpeg -DMODULE_NAME_IS_ffmpeg -Wsign-compare -Wall -finline-limit-30000 -pipe -MT modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o -MD -MP -MF "modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo" \ -c -o modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o `test -f 'modules/codec/ffmpeg/ffmpeg.c' || echo './'`modules/codec/ffmpeg/ffmpeg.c; \ then mv "modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo" "modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Po"; \ else rm -f "modules/codec/ffmpeg/.deps/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.Tpo"; exit 1; \ fi modules/codec/ffmpeg/ffmpeg.c:59:44: libpostproc/postprocess.h: No such file or directory In file included from modules/codec/ffmpeg/ffmpeg.c:63: modules/codec/ffmpeg/video.h:35: parse error before "pp_context_t" modules/codec/ffmpeg/video.h:35: warning: no semicolon at end of struct or unionmodules/codec/ffmpeg/video.h:36: warning: type defaults to `int' in declaration of `pp_mode' modules/codec/ffmpeg/video.h:36: warning: data definition has no type or storage class modules/codec/ffmpeg/video.h:50: parse error before '}' token modules/codec/ffmpeg/video.h:50: warning: type defaults to `int' in declaration of `vdec_thread_t' modules/codec/ffmpeg/video.h:50: warning: data definition has no type or storage class modules/codec/ffmpeg/video.h:53: parse error before '*' token modules/codec/ffmpeg/video.h:54: parse error before '*' token modules/codec/ffmpeg/video.h:55: parse error before '*' token modules/codec/ffmpeg/ffmpeg.c:206: parse error before "vdec_thread_t" modules/codec/ffmpeg/ffmpeg.c:206: warning: no semicolon at end of struct or union modules/codec/ffmpeg/ffmpeg.c:208: warning: type defaults to `int' in declaration of `decoder_thread_t' modules/codec/ffmpeg/ffmpeg.c:208: warning: data definition has no type or storage class modules/codec/ffmpeg/ffmpeg.c: In function `RunDecoder': modules/codec/ffmpeg/ffmpeg.c:241: parse error before ')' token modules/codec/ffmpeg/ffmpeg.c: In function `InitThread': modules/codec/ffmpeg/ffmpeg.c:322: parse error before ')' token modules/codec/ffmpeg/ffmpeg.c: In function `EndThread': modules/codec/ffmpeg/ffmpeg.c:371: parse error before ')' token make[2]: *** [modules/codec/ffmpeg/modules_codec_ffmpeg_libffmpeg_a-ffmpeg.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.6.0/work/vlc-0.6.0' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.6.0/work/vlc-0.6.0' make: *** [all] Error 2 emerge info says: Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.20-18.7 i686 AMD Athlon(tm) processor GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/fonts /usr/X11R6/lib/X11/xkb /etc/X11/serverconfig /etc/X11/app-defaults /etc/X11/starthere /etc/ssmtp /etc/sound/events /etc/X11/rstart /etc/X11/xdm /etc/pango /etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg kde libg++ libwww mad mikmod mmx mpeg ncurses pdflib png quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline arts java X sdl gpm tcpd pam ssl python esd oggvorbis gnome gtk qt opengl cdr -svga -doc -motif -nls -imlib -emacs perl mozilla dvd gtk2" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe" CXXFLAGS="-O3 -mcpu=i686 -funroll-loops -pipe" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
modules/codec/ffmpeg/ffmpeg.c:59:44: libpostproc/postprocess.h: No such file or directory The only program I am aware of which installs postprocess.h is mplayer... and it installs it in postproc/ NOT libpostproc/ ... From vlc-0.6.0/modules/codecs/ffmpeg/ffmpeg.c... <snip> #include "ffmpeg.h" #ifdef LIBAVCODEC_PP # ifdef HAVE_POSTPROC_POSTPROCESS_H # include <postproc/postprocess.h> # else # include <libpostproc/postprocess.h> # endif #endif </snip> and from vlc-0.6.0/modules/codecs/ffmpeg/ffmpeg.h... <snip> #if LIBAVCODEC_BUILD >= 4663 # define LIBAVCODEC_PP #else # undef LIBAVCODEC_PP #endif </snip> So... it appears that it is turning on support for the postprocess support all the time since we are using from /usr/include/ffmpeg/avcodec.h... <snip> #define LIBAVCODEC_BUILD 4669 </snip> Install mplayer (which should install postprocess.h), and let me know if you still have problems emerging vlc...
It is possible that I may adjust the ffmpeg configure/etc to install libpostproc so mplayer doesn't have to... but i'm not sure if that is the correct answer as of yet. as a side note... i am also working on getting the mozilla plugin portion of vlc working.
After installing mplayer I was able to install vlc. I don't really mind that I need to have mplayer installed since I was planning to install it anyway, but this seems like an odd dependency and it certainly seems like a bug in the ebuild to have to do this. Do I need to provide more information to help with fixing the ebuild?
as of right now... no... there is no more information i need from you. Thanks for verifying that installing mplayer fixed the problem though... This will most likely be changed in the future so ffmpeg provides libpostproc instead of mplayer... for now i am going to add mplayer as a dependancy of vlc until this is resolved. I will post here when things have changed.
Sounds good. Thanks for working on the vlc ebuild.
mozplugin .patch-8227 failed on vlc-0.6.0-r1 report will be added below
Created attachment 14622 [details] mozplugin.patch-8227.out as requested by ebuild to report
The plugin has been updated to remove the problematic portions. please test
0.6.0-r1 has been in portage for a while now. There are known upstream problems with this release but should be fully functional otherwise.