It seems like vlc doesn't like my new compiling environment. Reproducible: Always Steps to Reproduce: 1. emerge vlc 2. 3. Actual Results: gcc -Wsign-compare -Wall -march=pentium-m -O2 -fomit-frame-pointer -pipe -finline-limit-30000 -pipe -o libsgimb_plugin.so libsgimb_plugin_a-sgimb.o `top_builddir=../.. ../../vlc-config --libs plugin sgimb` if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -DSYS_LINUX -I../../include `top_builddir="../.." ../../vlc-config --cxxflags builtin mkv` -Wsign-compare -Wsign-compare -Wall -march=pentium-m -O2 -fomit-frame-pointer -pipe -finline-limit-30000 -pipe -MT libmkv_a-mkv.o -MD -MP -MF ".deps/libmkv_a-mkv.Tpo" \ -c -o libmkv_a-mkv.o `test -f 'mkv.cpp' || echo './'`mkv.cpp; \ then mv -f ".deps/libmkv_a-mkv.Tpo" ".deps/libmkv_a-mkv.Po"; \ else rm -f ".deps/libmkv_a-mkv.Tpo"; exit 1; \ fi `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. rm -f libmkv.a ar cru libmkv.a libmkv_a-mkv.o ranlib libmkv.a if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -DSYS_LINUX -I../../include `top_builddir="../.." ../../vlc-config --cxxflags builtin livedotcom` -Wsign-compare -Wsign-compare -Wall -march=pentium-m -O2 -fomit-frame-pointer -pipe -finline-limit-30000 -pipe -MT liblivedotcom_a-livedotcom.o -MD -MP -MF ".deps/liblivedotcom_a-livedotcom.Tpo" \ -c -o liblivedotcom_a-livedotcom.o `test -f 'livedotcom.cpp' || echo './'`livedotcom.cpp; \ then mv -f ".deps/liblivedotcom_a-livedotcom.Tpo" ".deps/liblivedotcom_a-livedotcom.Po"; \ else rm -f ".deps/liblivedotcom_a-livedotcom.Tpo"; exit 1; \ fi `-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead. livedotcom.cpp: In function `int AccessOpen(vlc_object_t*)': livedotcom.cpp:135: error: 'class UsageEnvironment' has no member named 'reclaim' livedotcom.cpp:152: error: 'class UsageEnvironment' has no member named 'reclaim' livedotcom.cpp:163: error: 'class UsageEnvironment' has no member named 'reclaim' livedotcom.cpp: In function `int DemuxOpen(vlc_object_t*)': livedotcom.cpp:673: error: 'class UsageEnvironment' has no member named 'reclaim' livedotcom.cpp: In function `void DemuxClose(vlc_object_t*)': livedotcom.cpp:727: error: 'class UsageEnvironment' has no member named 'reclaim' livedotcom.cpp: In function `void StreamRead(void*, unsigned int, timeval)': livedotcom.cpp:952: warning: unused variable 'h261Source' make[4]: *** [liblivedotcom_a-livedotcom.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/vlc-0.7.2-r1/work/vlc-0.7.2/modules/demux' make[3]: *** [all-modules] Error 1 make[3]: Leaving directory `/var/tmp/portage/vlc-0.7.2-r1/work/vlc-0.7.2/modules/demux' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/vlc-0.7.2-r1/work/vlc-0.7.2/modules' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vlc-0.7.2-r1/work/vlc-0.7.2' make: *** [all] Error 2 !!! ERROR: media-video/vlc-0.7.2-r1 failed. !!! Function src_compile, Line 194, Exitcode 2 !!! make of VLC failed Expected Results: successful compile. Portage 2.0.50-r9 (gcc34-x86-2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r0, 2.6.7) ================================================================= System uname: 2.6.7 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium-m -O2 -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.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium-m -O2 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.du.se/pub/os/gentoo http://ds.thn.htu.se/linux/gentoo http://ftp.linux.ee/pub/gentoo/distfiles/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X X509 aalib accessibility acl acpi alsa arts avi berkdb bluetooth cdr crypt cups curl dga divx4linux doc dts dvd dvdr encode esd faac faad firebird flac foomaticdb gdbm gif gimpprint gnome gphoto2 gpm gstreamer gtk gtkhtml icc icc-pgo idea imlib innodb irda jack java jbig jpeg kde kerberos lcms ldap libg++ libwww mad mailwrapper matroska md5sum mikmod mmx mng motif mozilla mpeg mysql ncurses nls nptl oav odbc oggvorbis opengl oss pam pda pdflib perl pic png pnp postgres ppds pwdb python qt quicktime readline samba sasl scanner sdl skey slang slp snmp socks5 speex spell sse ssl tcltk tcpd theora threads tiff truetype trusted usb v4l v4l2 wifi wmf x86 xinerama xml2 xmms xosd xprint xv xvid zlib"
But vlc-0.7.2 works like a charm with gcc-3.4.1. Just some new stuff which isn't up to quality?
Shouldn't the live stuff be USE flagged? Anyway, something's broken there. I suspect it may well be the vlc-0.7.2-live.patch. The changes are like so: - delete env; + env->reclaim(); Four of them in fact. As I'm currently unable to test this, I'm adding the maintainer (Chris White) who was the one who added that patch in - Chris, can you please comment on the API changes, and exactly why we need to be using reclaim() here?
The problem was that the LIVE patch was for a step up from the minimum live version required. I changed the version to work with the patch. The patch was created since the class destructor for the class env uses was changed to a protected (or private, can't remember) member, so outside calls couldn't reach it. Hence, the reason for reclaim(). Sorry for all the confusion there.