I created an updated ebuild for VLC 0.7.0 Some of the changes include: - Disabled qt and kde interfaces, these are no longer maintained and should not be used by endusers - VideoLAN Client is officially named: VLC media player now - remove xvid and dv library support (the ffmpeg versions work better/faster) - added speex support and USE var - added liveMedia (RTP/RTSP client support) - mozilla patch no longer necesarry this is fixed upstream - added fribidi support and bidi USE var - added png USE var - added caca support (http://bugs.gentoo.org/show_bug.cgi?id=34965) (uses the aalib USE var for now ) - changed description string - updated the required versions of some packages. (using the latest though unstable stuff is normal in the world of fast changing audio/video development) support for older versions of several of these packages was dropped.
Created attachment 23414 [details, diff] VLC 0.7.0 ebuild Here you go :D
*** Bug 37117 has been marked as a duplicate of this bug. ***
Created attachment 23423 [details, diff] fixed ebuild That's what you get from working in a cvs directory and a /usr/local/portage dir. You mix stuff up :( Sorry
is snapshotting ffmpeg and live really needed?
http://packages.gentoo.org/ebuilds/?vlc-0.6.2-r1 See this as too why vlc needs to be directly linked with ffmpeg. It's the first thing in the Changelog. FFmpeg should fix this annoying issue. liveMedia is no real library ( that is, it doesn't have a make install target, and it cannot be build as dynamic libraries), only a sourcetree. Most projects choose to import these sources into their own sourcetree, but VLC does not like this approach because it bloats our sourcetree. http://live.com/liveMedia
I see someone actually seems to have solved this in gentoo, but the vlc configure script atm can only use live as a sourcetree, not as installed libraries. I'll see that gets in a next release then.
I just started emerging this ebuild but I had to make two corrections before I was able to do so: 1. I hade to change the line: faad? ( >=media-libs/faad2-2.0-rc3 ) to read: faad? ( >=media-libs/faad2-2.0_rc3 ) #underscore at the end 2. Emerge could not find libcaca so I had to USE="-aalib" Hope it compiles =)
I also had to remove matroska from the useflags or it would fail with this error: mkv.cpp: In function `int Open(vlc_object_t*)': mkv.cpp:636: no matching function for call to `libmatroska::KaxCodecPrivate:: ReadData(libebml::IOCallback&)' /usr/include/ebml/EbmlBinary.h:69: candidates are: virtual uint64 libebml::EbmlBinary::ReadData(libebml::IOCallback&, libebml::ScopeMode) mkv.cpp:859: no matching function for call to `libmatroska::KaxSeekID::ReadData (libebml::IOCallback&)' /usr/include/ebml/EbmlBinary.h:69: candidates are: virtual uint64 libebml::EbmlBinary::ReadData(libebml::IOCallback&, libebml::ScopeMode) make[4]: *** [libmkv_plugin_a-mkv.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/demux' make[3]: *** [all-modules] Error 1 make[3]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/demux' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.7.0 failed. !!! Function src_compile, Line 226, Exitcode 2 !!! make of VLC failed Now it compiled cleanly.
faad2 is a good catch caca isn't in gentoo yet, but it is in bugzilla. the matroska error seems to be because you are using an older version of matroska then that the vlc ebuild advises. there has been an API change between libmatroska 0.6.1 and 0.6.2 if i remember correctly. i'm a bit confused on this. the ebuild specifies 0.6.2. What do you have installed?
ah i understand it i think. you didnt' specify the matroska use flag (therefore the version check wasn't excecuted), but you did have it installed. the vlc configure script detected it, even though the ebuild didn't specify it, and the vlc build tried to use it....... at least that's what i think happened.
When I emerged it with the use flag matroska set I got the error. If I remove the use flag it compiles. I have version 0.6.2 installed.
there's a matroska snapshot in contrib directory of vlc use this and it compiles fine
How do I use that? Do I have to edit the ebulid?
I can't even compile vlc because of an error while compiling its own libavcodec. Here's the error : gcc -Wall -march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387 -fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer -ftracer -g -O3 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o i386/dsputil_mmx.o i386/dsputil_mmx.c i386/dsputil_mmx.c: Dans la fonction
I can't even compile vlc because of an error while compiling its own libavcodec. Here's the error : gcc -Wall -march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387 -fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer -ftracer -g -O3 -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o i386/dsputil_mmx.o i386/dsputil_mmx.c i386/dsputil_mmx.c: Dans la fonction « h263_h_loop_filter_mmx »: i386/dsputil_mmx.c:610: error: can't find a register in class `GENERAL_REGS' while reloading `asm' i386/dsputil_mmx.c: Hors de toute fonction : i386/dsputil_mmx_rnd.h:362: attention : `avg_no_rnd_pixels8_l2_mmx' defined but not used i386/dsputil_mmx_rnd.h:409: attention : `avg_no_rnd_pixels16_l2_mmx' defined but not used i386/dsputil_mmx_avg.h:57: attention : `put_pixels8_l2_3dnow' defined but not used i386/dsputil_mmx_avg.h:129: attention : `put_pixels16_l2_3dnow' defined but not used i386/dsputil_mmx_avg.h:57: attention : `put_pixels8_l2_mmx2' defined but not used i386/dsputil_mmx_avg.h:129: attention : `put_pixels16_l2_mmx2' defined but not used make: *** [i386/dsputil_mmx.o] Erreur 1 !!! ERROR: media-video/vlc-0.7.0 failed. !!! Function src_compile, Line 142, Exitcode 2 !!! ffmpeg->libavcodec failed to compile Could it be related to 2.6 headers ?
i think this is a bug in 0.4.8 which might be triggered by gcc 3.2 what gcc version do you have?
Here's my emerge info output : Portage 2.0.50_pre20 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.1-gentoo-r1) ================================================================= System uname: 2.6.1-gentoo-r1 i686 AMD Athlon(tm) XP 2700+ Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.7.8 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="no" CFLAGS="-march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387 -fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer -ftracer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -m3dnow -msse -mmmx -pipe -mfpmath=sse,387 -fforce-addr -maccumulate-outgoing-args -ffast-math -momit-leaf-frame-pointer -ftracer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildsyspkg ccache sandbox" GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ http://194.83.57.2/sites/www.ibiblio.org/gentoo/ http://194.83.57.7/sites/www.ibiblio.org/gentoo/ http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X alsa avi cdr crypt cups dedicated dga dvd encode esd fam foomaticdb gif gnome gtk gtk2 imlib java jpeg lirc mad matroska mikmod mmx mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib png python quicktime readline samba sdl slang spell sse ssl tcpd tiff truetype unicode wmf x86 xml2 xv zlib" And as I said, I use 2.6 headers.
Created attachment 24842 [details] removed garbled first line from previous ebuild I removed the garbled first line from the previous ebuild.
I keep getting this error: make[1]: Entering directory `/var/tmp/portage/vlc-0.7.0/work/live/groupsock' c++ -c -Iinclude -I../UsageEnvironment/include -I. -O -DSOCKLEN_T=socklen_t -Wall -DBSD=1 GroupsockHelper.cpp c++ -c -Iinclude -I../UsageEnvironment/include -I. -O -DSOCKLEN_T=socklen_t -Wall -DBSD=1 GroupEId.cpp cc -c -Iinclude -I../UsageEnvironment/include -I. -O -DSOCKLEN_T=socklen_t inet.c c++ -c -Iinclude -I../UsageEnvironment/include -I. -O -DSOCKLEN_T=socklen_t -Wall -DBSD=1 Groupsock.cpp Groupsock.cpp:29:23: strstream.h: No such file or directory make[1]: *** [Groupsock.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/live/groupsock' make: *** [groupsock/libgroupsock.a] Error 2 !!! ERROR: media-video/vlc-0.7.0 failed. !!! Function src_compile, Line 133, Exitcode 2 !!! liveMedia code failed to compile. Here is my emerge info: root@palomino vlc $ emerge info Portage 2.0.50_pre21 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.2-rc2-love3) ================================================================= System uname: 2.6.2-rc2-love3 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.7.8 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -mmmx -m3dnow -msse -mfpmath=sse -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -mmmx -m3dnow -msse -mfpmath=sse -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox" GENTOO_MIRRORS="http://oss.redundant.com/pub/gentoo http://gentoo.ccccom.com ftp://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X acpi alsa avi cdr cups curl directfb dvd fbcon foomaticdb gif gpm gtk gtk2 imlib imlib2 ipv6 java jpeg matroska mmx mozilla moznoirc mpeg ncurses nptl oggvorbis opengl oss pam pdflib png ppds python radeon readline sdl spell sse ssl svga truetype usb x86 xface xine xml xml2 xmms xv zlib" Here is what I used to emerge the package (minus the -pv of course): root@palomino vlc $ USE="wxwindows xosd xvid" emerge vlc -pv These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] media-video/vlc-0.7.0 -3dfx +X -aalib +alsa -altivec -arts -bidi -debug -dvb +dvd -esd -faad +fbcon -ggi -gnome +gtk +imlib -lirc +matroska +mozilla +ncurses -nls +oggvorbis +oss +png +sdl -slp -speex +svga +truetype -v4l +wxwindows +xosd +xv 0 kB *1 Thanks for helping figure out what is wrong. (I can tell a file is missing, but where do I get it?)
I also have the strstream.h error. A locate shows that it might be a gcc problem... $ locate strstream.h /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include/g++/strstream.h /mnt/debian/usr/include/c++/3.2/backward/strstream.h /mnt/debian/usr/include/g++-3/strstream.h /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include/g++-v3/backward/strstream exists, but not strstream.h. So I created a symlink and now I'm trying to emerge vlc again.
No more strstream.h error here. But... gcc -Wsign-compare -Wall -finline-limit-30000 -pipe -o libaac_plugin.so libaac_plugin_a-aac.o `top_builddir=../.. ../../vlc-config --libs plugin aac` if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -DSYS_LINUX -I../../include `top_builddir="../.." ../../vlc-config --cxxflags plugin mkv` -Wsign-compare -Wsign-compare -Wall -finline-limit-30000 -pipe -MT libmkv_plugin_a-mkv.o -MD -MP -MF ".deps/libmkv_plugin_a-mkv.Tpo" \ -c -o libmkv_plugin_a-mkv.o `test -f 'mkv.cpp' || echo './'`mkv.cpp; \ then mv -f ".deps/libmkv_plugin_a-mkv.Tpo" ".deps/libmkv_plugin_a-mkv.Po"; \ else rm -f ".deps/libmkv_plugin_a-mkv.Tpo"; exit 1; \ fi mkv.cpp: In function `int Open(vlc_object_t*)': mkv.cpp:636: error: no matching function for call to ` libmatroska::KaxCodecPrivate::ReadData(libebml::IOCallback&)' /usr/include/ebml/EbmlBinary.h:69: error: candidates are: virtual uint64 libebml::EbmlBinary::ReadData(libebml::IOCallback&, libebml::ScopeMode) mkv.cpp:859: error: no matching function for call to `libmatroska::KaxSeekID:: ReadData(libebml::IOCallback&)' /usr/include/ebml/EbmlBinary.h:69: error: candidates are: virtual uint64 libebml::EbmlBinary::ReadData(libebml::IOCallback&, libebml::ScopeMode) make[4]: *** [libmkv_plugin_a-mkv.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/demux'
Well, I got rid of the above error by setting USE="-matroska". I also got rid of the srtstream error by making the symlink suggested above. This leads to a new error :( if g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -DSYS_LINUX -I../../../include `top_builddir="../../.." ../../../vlc-config --cxxflags plugin wxwindows` -Wsign-compare -Wsign-compare -Wall -finline-limit-30000 -pipe -MT libwxwindows_plugin_a-wxwindows.o -MD -MP -MF ".deps/libwxwindows_plugin_a-wxwindows.Tpo" \ -c -o libwxwindows_plugin_a-wxwindows.o `test -f 'wxwindows.cpp' || echo './'`wxwindows.cpp; \ then mv -f ".deps/libwxwindows_plugin_a-wxwindows.Tpo" ".deps/libwxwindows_plugin_a-wxwindows.Po"; \ else rm -f ".deps/libwxwindows_plugin_a-wxwindows.Tpo"; exit 1; \ fi wxwindows.cpp: In member function `virtual bool Instance::OnInit()': wxwindows.cpp:264: error: `LC_NUMERIC' undeclared (first use this function) wxwindows.cpp:264: error: (Each undeclared identifier is reported only once for each function it appears in.) wxwindows.cpp:264: error: `setlocale' undeclared (first use this function) make[6]: *** [libwxwindows_plugin_a-wxwindows.o] Error 1 make[6]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/gui/wxwindows' make[5]: *** [all-modules] Error 1 make[5]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/gui/wxwindows' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/gui' make[3]: *** [all] Error 2 make[3]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules/gui' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.7.0/work/vlc-0.7.0' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.7.0 failed. !!! Function src_compile, Line 227, Exitcode 2 !!! make of VLC failed emerge info again: root@palomino irasnyd $ emerge info Portage 2.0.50_pre21 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20040117-r0, 2.6.2-rc2-love3) ================================================================= System uname: 2.6.2-rc2-love3 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.4.3.12 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.7.8,sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -mmmx -m3dnow -msse -mfpmath=sse -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -mmmx -m3dnow -msse -mfpmath=sse -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox" GENTOO_MIRRORS="http://oss.redundant.com/pub/gentoo http://gentoo.ccccom.com ftp://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X acpi alsa avi cdr cups curl directfb dvd fbcon foomaticdb gif gpm gtk gtk2 imlib imlib2 ipv6 java jpeg matroska mmx mozilla moznoirc mpeg ncurses nptl oggvorbis opengl oss pam pdflib png ppds python radeon readline sdl spell sse ssl svga truetype usb x86 xface xine xml xml2 xmms xv zlib" Any more ideas?
Created attachment 25096 [details, diff] Patch for strstream.h error It looks like using strstream.h is deprecated in gcc. I submit a patch which is a copy of a patch from FreeBSD to include sstream rather than strstream.h
Created attachment 25097 [details, diff] Compatibility patch with recent libmatroska Well, next but not last patch to support libmatroska (0.6.2 on my system). I looked at mkv.cpp cvs version for the current version of the ReadData lines generating an error.
Created attachment 25098 [details, diff] Patch for current libcaca The function caca_create_bitmap in libcaca as one more argument since the end of last year : alpha channel. Since I did not found support for alpha channel in video output in vlc, I've put 0 (means no alpha) in function call.
Created attachment 25100 [details] Modified ebuild to apply 3 patches proposed above I've called the patch respectively live-gcc3-3.patch, matroska-ebml-read.patch and libcaca-alpha.patch. Unfortunately I don't use wxwindows so I have nothing to propose on this subject...
Created attachment 25516 [details] compile error Here is the error output using the above ebuild and patchs and the glide.patch from the current portage tree (not sure if thats right).
*** Bug 41169 has been marked as a duplicate of this bug. ***
I don't have any 3dfx card so I don't use glide flag... I quickly looked at vlc cvs, it looks like glide.c did not changed a lot between tags v0_7_0 and v0_6_2, so the patch should applySince glide.h is not found, it looks like the few sed made in the ebuild to modify configure, are not up to date.
I ran into a runtime error. Floating point exception in rv10_encode_picture_header () from /usr/lib/libavcodec.so. Which means that the ebuild is improperly linking with the dynamic ffmpeg on my system. By unmerging ffmpeg and re-merging vlc, it now works for me. I'll think about a patch for this. Anybody have any ideas?
In order for vlc to work I have to emerge it without ffmpeg on the system, otherwise it tries to link to it. If I merge vlc and then remove ffmpeg, it will still be broken. However, I can merge ffmpeg after vlc and that does work. It appears that that the configure option --with-ffmpeg-tree is not forcing a static link if ffmpeg exists on the system.
Sounds to me like the --with-ffmpeg-tree problem is going to require a patch, and we should plan to push the fix upstream
Alternatively we could bump the ffmpeg ebuild in the tree to use a snapshot since the most recently released version is kinda old. In that case this ebuild could DEPEND on the snapshot version of ffmpeg and everybody would be happy. The only question is whether the snapshot version of ffmpeg will cause problems for any other applications. Personally I would prefer this approach since vlc would automatically inherit a newer version of ffmpeg when it becomes available in the portage tree. ffmpeg-0.4.8.20040103.ebuild would be the name of the snapshot ebuild so that 0.4.9 would automatically be newer whenever it appears. Thoughts?
I know personally that's what I did. I bumped my ffmpeg ebuild to match the one used in this ebuild of vlc and everything works.
like comment 23, the matroska patch doesn't work for me. I have libmatroska 0.6.3 (current version in ~x86). The ebuild with assorted patches works fine with: USE="-matroska" emerge -v vlc
A quick overview. - there was a typo in faad version check - 0.7.0 ONLY works with libcaca 0.2.0 - 0.7.0 ONLY works with libmatroska 0.6.3 and libebml 0.6.4 - a patch to live is required on gcc 3.2(???) and up (this one is already available upstream since release 2004.02.20a:) - ffmpeg can conflict with already installed ffmpeg. if we go back to the older style dynamic linking, we have a problem with libpostproc, which makes us dependant on mplayer. solution: ffmpeg folks should stop being such uptight assh&Q and should use auto* tools. Any project other than mplayer that uses ffmpeg knows this. the idiotic thing also uses it's own outdated lib's and headers when i try to compile a newer version on a machine that already has it installed. - xvid is broken - glide: no idea, i don't have it. you shouldn't use it anyways. i'm pretty sure xv output takes precedence over glide output. probably noone uses it.
Correction, VLC 0.7.0 seems to require a very old version of matroska which is not in gentoo. please disable.
0.7.1 is out
Created attachment 26847 [details] new ebuild media-video/vlc-0.7.1.ebuild This is a ebuild for vlc-0.7.1. I took the vlc-0.6.2-r1 ebuild and upgraded it using a bunch of ideas from Derk-Jan Hartman's ebuild for vlc-0.7.0 that he posted. This ebuild requires the glide patch from the tree and the live-gcc3-3.patch that is posted to this bug. It no longer requires the libcaca patch or the matroska patch. This ebuild is dependent on libpostproc-20020222.ebuild (bug 43639) and ffmpeg-0.4.8.20040222.ebuild (bug 43641). This ebuild no longer implicity depends on mplayer (for libpostproc), but instead explicitly depends on the libpostproc ebuild that I submitted. qt support works for me. Full kde support (via --enable-kde) is broken for me (runtime segfault when starting interface). Everything else appears to work. I have succesfully built with the following use flags enabled: USE="dvd faad matroska aalib kde xvid speex bidi gnome v4l xosd" I have runtime tested matroska, aalib and faad support and have verified that it works. Note that with the new libpostproc (43639) you will need to upgrade mplayer if you have it so that it no longer installs libpostproc itself (43640). Here are some bugs that I think are related in some way: 42326, 12999, 27051, 35814, 39773, 43640.
Clarification to the above. kde support is broken with --enable-kde, however in the submitted ebuild, --enable-kde is commented out, so you won't get full kde interface support with USE="kde". In other words, this ebuild goes for the working but disabled route. I'm not even sure what --enable-kde does since there is already --enable-qt which works for me.
Derk-Jan Hartman, you may want to update the short summary to mention 0.7.1.
Created attachment 26856 [details] updated ebuild for 0.7.1, don't depend on libpostproc ebuild I modified the ffmpeg ebuild to install libpostproc (43641), therefore I have removed the dependency on the libpostproc ebuild (43639).
According to this vlc page: http://www.videolan.org/doc/vlc-user-guide/en/modules.html qt, kde, gtk, and gnome interface options are deprecated in favor of wxwindows. So I no longer consider the removal of "--enable-kde" to be a bug.
Created attachment 26903 [details, diff] Clean out --enable-kde bug comments Here is a patch to the above ebuild to clean out the references to --enable-kde brokeness. There is no functional difference, just comment changes.
Have try the ebuild given here but i am unable to get him working because missing ffmpeg-0.4.8.20040103.ebuild. So to be able to test it I think that i must download it to my distfiles and create the ebuild my self based on the ffmpeg-0.4.8.ebuild. Even though i have try to compile myself ( without the ebuild ) and i get a complain about dvdnav problem. I have already send this to vlc mailing list and Derk-Jan Hartman pointing me to this bug report. Here are the error. I use following command line for the configure ./configure --enable-release --enable-livedotcom --enable-dvd --enable-dvdread --enable-dvdplay --disable-dvdnav --enable-v4l --enable-pvr --enable-alsa --enable-flac --enable-oss --with-livedotcom-tree=/home/philoux/src/vlc/live --with-ffmpeg-mp3lame --with-ffmpeg-tree=/home/philoux/src/vlc/ffmpeg-20040222 but have the following error av` -Wsign-compare -Wall -finline-limit-30000 -pipe -MT libdvdnav_plugin_a-dvdnav.o -MD -MP -MF ".deps/libdvdnav_plugin_a-dvdnav.Tpo" \ -c -o libdvdnav_plugin_a-dvdnav.o `test -f 'dvdnav.c' || echo './'`dvdnav.c; \ then mv -f ".deps/libdvdnav_plugin_a-dvdnav.Tpo" ".deps/libdvdnav_plugin_a-dvdnav.Po"; \ else rm -f ".deps/libdvdnav_plugin_a-dvdnav.Tpo"; exit 1; \ fi dvdnav.c: In function `DemuxOpen': dvdnav.c:353: warning: implicit declaration of function `dvdnav_set_PGC_positioning_flag' dvdnav.c:372: warning: implicit declaration of function `dvdnav_get_number_of_parts' dvdnav.c:400: error: `DVD_MENU_Escape' undeclared (first use in this function) dvdnav.c:400: error: (Each undeclared identifier is reported only once dvdnav.c:400: error: for each function it appears in.) dvdnav.c: In function `DemuxDemux': dvdnav.c:655: error: structure has no member named `cellN' dvdnav.c:656: error: structure has no member named `pgN' dvdnav.c:657: error: structure has no member named `cell_length' dvdnav.c:658: error: structure has no member named `pg_length' dvdnav.c:659: error: structure has no member named `pgc_length' dvdnav.c:660: error: structure has no member named `cell_start' dvdnav.c:661: error: structure has no member named `pg_start' dvdnav.c:703: error: `DVDNAV_WAIT' undeclared (first use in this function) dvdnav.c:706: warning: implicit declaration of function `dvdnav_wait_skip' dvdnav.c: In function `ESNew': dvdnav.c:962: warning: implicit declaration of function `dvdnav_get_active_audio_stream' dvdnav.c: In function `EventThread': dvdnav.c:1051: error: too many arguments to function `dvdnav_left_button_select' dvdnav.c:1054: error: too many arguments to function `dvdnav_right_button_select' dvdnav.c:1057: error: too many arguments to function `dvdnav_upper_button_select' dvdnav.c:1060: error: too many arguments to function `dvdnav_lower_button_select' dvdnav.c:1064: error: too many arguments to function `dvdnav_button_activate' dvdnav.c:1086: warning: passing arg 2 of `dvdnav_mouse_select' makes integer from pointer without a cast dvdnav.c:1086: error: too many arguments to function `dvdnav_mouse_select' dvdnav.c:1092: warning: passing arg 2 of `dvdnav_mouse_activate' makes integer from pointer without a cast dvdnav.c:1092: error: too many arguments to function `dvdnav_mouse_activate' make[4]: *** [libdvdnav_plugin_a-dvdnav.o] Error 1 make[4]: Leaving directory `/home/philoux/src/vlc/vlc-0.7.1/modules/demux' make[3]: *** [all-modules] Error 1 make[3]: Leaving directory `/home/philoux/src/vlc/vlc-0.7.1/modules/demux' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/philoux/src/vlc/vlc-0.7.1/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/philoux/src/vlc/vlc-0.7.1' make: *** [all] Error 2
Philippe, That's why this is dependent on bug 43641. If you go here you can get the ffmpeg ebuild. http://bugs.gentoo.org/show_bug.cgi?id=43641 Can you try it with that ffmpeg ebuild and see if you can then merge the vlc ebuild. Also, which versions of the following ebuilds do you have: libdvdread, libdvdcss, and libdvdplay.
I have get ffmpeg and all patch and the ebuild work. to answer to your previous qestion i have the following version of media-libs/libdvdread-0.9.4 media-libs/libdvdcss-1.2.8 media-libs/libdvdplay-1.0.1 media-libs/libdvdnav-0.1.9
another remark about this ebuild. It will be perfect if i can have a USE flag to enable the pvr option of vlc.
Philippe, good news, you can enable pvr by adding "dvb" to your use flags. This also enables satellite and will pull in dependencies on media-libs/libdvb, and media-tv/linuxtv-dvb. I'll have to leave it up to somebody else to determine whether dvb and pvr support should or can be seperated.
Created attachment 27412 [details] dvd and dvb proposed fixes Looks like --enable-satellite causes vlc to use broken header file locations (ost/*). Here is a reference to the broken locations: http://www.linuxtv.org/mailinglists/linux-dvb/2003/10-2003/msg00541.html I think the correct thing is to --disable-satellite and --enable-dvb, which works for me. Here is an ebuild with that dvb fix. And a dvdnav proposed fix.
With 0.7.1, vlc should be able to use the live.com package in gentoo btw. I'll test that.
updated vlc ebuild committed to vlc tree http://developers.videolan.org/cgi-bin/viewcvs.cgi/vlc/vlc.ebuild - uses the new ffmpeg/libpostproc patch - uses the liveMedia sources from portage instead of internal - added pvr and satellite keywords to seperate them from dvb. - added libdts support (a 0.7.1 backport would require this patch however: http://developers.videolan.org/cgi-bin/viewcvs.cgi/vlc/configure.ac.diff?r1=1.196&r2=1.197 ) - newest libmatroska - newest libcaca It also moves some of those 'touch' things way down. The touches need to be after the patches and sed's, but before ./configure (vlc-config sed might be excluded from this rule) The touch is required because otherwise vlc detects that changes have been made and it tries to do the auto* stuff to make sure all the Makefiles etc are up to date. However when you don't have the exact same version as the machine that builds our .tar.gz packages, you can fail the vlc build. This is an issue reported multiple times in the forums. beware that this version explicitly disables xvid, kde and qt because we consider them deprecated AND broken AND unmaintained.
The default hardcoded font in VLC (for OSD and subs) is /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf which is a default installed font on debian. However gentoo is different in this respect. What would be a nice preferable UTF8 font in gentoo that is present on most gentoo installations? We might then create a patch that could fix this hardcoded path. That would be nice for a lot of people i guess.
Created attachment 27704 [details] vlc-0.7.1-r1, synchronize with vlc team ebuild Since 0.7.1 is in the tree I'm obsoleting all the old attachments. I have changed a bunch of stuff in the ebuild to match more of the formatting from Derk's ebuild so that keeping it sync'd in the future is less dificult. This also includes the dvb and dvd proposed stuff from the previous ebuild. This also uses live ebuild instead of importing the source and a few other minor things.
Can someone please commit this into the tree? I'm getting tired of anwsering the same on all the VLC on gentoo questions i get :) Great work btw Joel.
libtheora is already in cvs
libtheora is still alpha code. though alpha2 is working in vlc, alpha3 isn't the two wouldn't be compatible either. i see no reason to support theora in a distribution atm.
I submitted vlc-0.7.1-r1 to the tree. Differences between the tree version and Derk-Jan Hartman's ebuild: - No dts support yet. - I still include pvr under the dvb flag, and don't activate satellite since it is broken for me. Before I close this bug I would like to add dts support, and resolve the font issue. Also, there is a mozilla issue in bug 45520 to resolve (I have added it as a blocker for this bug). Also, I have changed the summary to more accurately reflect the continuing purpose of this bug and re-assigned it to myself.
I added 0.7.1-r1 to ~ppc. AltiVec seems to be broken in this release so please let a ppc-dev know when you bump the version so we can test it again. I modified the ebuild to disable AltiVec on all ppc builds.
Where is the bugreport on this Alitvec issue?
Reminder to self, add faad use flag to use.local.desc.
Okay, well, all the tasks from this bug are done except for making the ebuild stable. Unfortunately, a bunch of the things that vlc relies on are not yet stable. In the near future hopefully I will get an opportunity to start pushing them to stable so vlc 0.7.2 can be marked stable and people can get off the flaky 0.6 versions. So ... "I'm ending this transmission." :-) I have made a note to notify ppc when a version bump happens.