Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 60861 - media-video/vlc-0.7.2-r1 fails to compile with gcc-3.4.1
Summary: media-video/vlc-0.7.2-r1 fails to compile with gcc-3.4.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-19 00:52 UTC by Robin Smidsrød
Modified: 2004-08-19 15:20 UTC (History)
2 users (show)

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 Robin Smidsrød 2004-08-19 00:52:08 UTC
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"
Comment 1 Robin Smidsrød 2004-08-19 08:36:42 UTC
But vlc-0.7.2 works like a charm with gcc-3.4.1. Just some new stuff which isn't up to quality?
Comment 2 Robert Moss (RETIRED) gentoo-dev 2004-08-19 14:38:35 UTC
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?
Comment 3 Chris White (RETIRED) gentoo-dev 2004-08-19 15:20:40 UTC
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.