86_64-pc-linux-gnu-g++ -MD -c -march=core2 -mssse3 -msse4.1 -O2 -pipe -ggdb -DNDEBUG=1 -D_LINUX -D_FILE_DEFINED -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DINSTALL_PATH="\"/usr/share/xbmc\"" -D'SVN_REV="exported"' -DHAVE_CONFIG_H -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/include/freetype2 -Icores/dvdplayer -Icores/ffmpeg -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Platinum -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer -Ilib/libUPnP/Neptune/Source/System/Posix -Ilib/libUPnP/Neptune/Source/Core -I/var/tmp/portage/media-tv/xbmc-9.11-r4/work/xbmc-9.11 -I/usr/include/fribidi -I/usr/include/libpng14 -I/usr/include/ -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/alsa -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/hal -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/lzo GUIWindowSettingsScreenCalibration.cpp -o GUIWindowSettingsScreenCalibration.o In file included from /usr/include/libavutil/avutil.h:81:0, from cores/VideoRenderers/../ffmpeg/DllSwScale.h:27, from cores/VideoRenderers/LinuxRendererGL.h:8, from cores/VideoRenderers/RenderManager.h:25, from GUIWindowSettingsScreenCalibration.cpp:27: /usr/include/libavutil/common.h: In function ‘int32_t av_clipl_int32(int64_t)’: /usr/include/libavutil/common.h:154:47: error: ‘UINT64_C’ was not declared in this scope In file included from cores/VideoRenderers/LinuxRendererGL.h:9:0, from cores/VideoRenderers/RenderManager.h:25, from GUIWindowSettingsScreenCalibration.cpp:27: easy fix: append-flags -D__STDC_CONSTANT_MACROS (UINT64_C isnt standard in C++ unless this macro is defined, and ffmpeg headers require it)
why does ffmpeg require packages to define random things in order to use it ? sounds like a bug in ffmpeg, not xbmc.
(In reply to comment #1) > why does ffmpeg require packages to define random things in order to use it ? > sounds like a bug in ffmpeg, not xbmc. > The conclusion from upstream is that it's a bug in applications, not ffmpeg, see the full thread here: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2010-May/088074.html
ok, but append-flags isnt quite right. does `append-cxxflags` work ?
(In reply to comment #3) > ok, but append-flags isnt quite right. does `append-cxxflags` work ? > sorry, can't really tell... my box is at the moment so screwed, I can't get mysql to compile (as a prereq for testing xbmc) i've used append-cppflags where CPPFLAGS are respected (in other ebuilds), if not, fallback to append-flags...
i suggested cxxflags because according to upstream, this is a C++-only issue. i guess i can manually unmask ffmpeg-0.6 temporarily to see what's what.
append-cxxflags fixes it on my system, so ive committed that http://sources.gentoo.org/media-tv/xbmc/xbmc-9.11-r4.ebuild?r1=1.2&r2=1.3