relevant part from /var/log/portage/media-plugins:gst-plugins-ffmpeg-0.10.7:20090513-142926.log : make -j2 Making all in ext Making all in ffmpeg CC gstffmpegprotocol.o CC gstffmpeg.o CC gstffmpegcodecmap.o CC gstffmpegenc.o gstffmpegcodecmap.c: In function 'gst_ffmpeg_get_palette': gstffmpegcodecmap.c:53: warning: 'AVPaletteControl' is deprecated gstffmpegcodecmap.c: In function 'gst_ff_vid_caps_new': gstffmpegcodecmap.c:192: error: 'AVCodecContext' has no member named 'ticks_per_frame' gstffmpegcodecmap.c: In function 'gst_ffmpeg_caps_to_pixfmt': gstffmpegcodecmap.c:1833: error: 'AVCodecContext' has no member named 'ticks_per_frame' gstffmpegenc.c: In function 'gst_ffmpegenc_getcaps': gstffmpegenc.c:349: error: 'AVCodecContext' has no member named 'ticks_per_frame' gstffmpegenc.c: In function 'gst_ffmpegenc_setcaps': gstffmpegenc.c:495: error: 'AVCodecContext' has no member named 'ticks_per_frame' gstffmpegenc.c:520: error: 'AVCodecContext' has no member named 'ticks_per_frame' gstffmpegenc.c: In function 'gst_ffmpegenc_chain_video': gstffmpegenc.c:642: error: 'AVCodecContext' has no member named 'ticks_per_frame' make[3]: *** [libgstffmpeg_la-gstffmpegenc.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [libgstffmpeg_la-gstffmpegcodecmap.lo] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 * * ERROR: media-plugins/gst-plugins-ffmpeg-0.10.7 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2580: Called die * The specific snippet of code: * emake || die "emake failed." * The die message: * emake failed. * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/media-plugins:gst-plugins-ffmpeg-0.10.7:20090513-142926.log'. * The ebuild environment file is located at '/var/tmp/portage/media-plugins/gst-plugins-ffmpeg-0.10.7/temp/environment'. *
Which version of ffmpeg? Please post the output of: emerge -pv gst-plugins-ffmpeg ffmpeg
x51 ~ # emerge -pv gst-plugins-ffmpeg ffmpeg These are the packages that would be merged, in order: Calculating dependencies ... done! [ebuild R ] media-video/ffmpeg-0.5-r1 USE="3dnow 3dnowext X alsa amr debug doc encode hardcoded-tables ipv6 mmx mmxext mp3 sdl ssse3 v4l v4l2 vorbis zlib (-altivec) -bindist -custom-cflags -dirac -faac -faad -gsm -ieee1394 -jpeg2k -network -oss -schroedinger -speex -test -theora -threads -vhook -x264 -xvid" 0 kB [ebuild U ] media-plugins/gst-plugins-ffmpeg-0.10.7 [0.10.6] 0 kB Total: 2 packages (1 upgrade, 1 reinstall), Size of downloads: 0 kB x51 ~ # Sorry, forgot this obvious info :( Everything else should be up-to-date as of yesterday
grep -r "ticks_per_frame" /usr/include/libavcodec/ Should give you: /usr/include/libavcodec/avcodec.h: int ticks_per_frame; I can't reproduce. Looks to me like you have an old version of ffmpeg installed somewhere else (/usr/local?) try to do: find /usr /opt -name avcodec.h to see if this is what's the problem.
(In reply to comment #3) > I can't reproduce. Looks to me like you have an old version of ffmpeg installed > somewhere else (/usr/local?) Yes, I have some old/special version of ffmpeg installed in /usr/local which is used for a frozen project. Many thanks for this quick and precise guess! (Or is this even a common problem with installed packages in /usr/local?) Now, of course, there remains one last (and possible easy solvable) problem: how do I hide this version in /usr/local?
(In reply to comment #4) > (In reply to comment #3) > > I can't reproduce. Looks to me like you have an old version of ffmpeg installed > > somewhere else (/usr/local?) > > Yes, I have some old/special version of ffmpeg installed in /usr/local which is > used for a frozen project. Many thanks for this quick and precise guess! (Or is > this even a common problem with installed packages in /usr/local?) The package was erring on a header change that was made in February. Easy guess. > Now, of course, there remains one last (and possible easy solvable) problem: > how do I hide this version in /usr/local? Generally, avoid installing things in /usr/local if you want to install the same thing with portage, since /usr/local always overrides /usr. Install to some other directory and make a wrapper for your program that sets up LD_LIBRARY_PATH and so on to point to /other/directory