| Summary: | stepmania-3.9_rc3 and stepmania-3.9 fail to build with ffmpeg-0.4.9_p20051216 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Matt Mullins <mokomull> |
| Component: | [OLD] Games | Assignee: | Gentoo Games <games> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | critical | CC: | mokomull |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
While emerging stepmania, it fails to build. I believe this could be related to FFmpeg changing APIs, but I am not sure myself, as I have not tracked FFmpeg lately. I have previously built stepmania successfully on another system, when I used ffmpeg-0.4.9_p20050226-r5. That version is no longer available in portage, and ffmpeg-0.4.9_p20050226-r3 also fails to build, apparently because of a missing patch specified in its ebuild. However, even with the version of stepmania I have been able to build on my other system, videos have never worked properly, which does not bother me (it actually aids gameplay, that "bug" ("feature"?)). Steps to reproduce: 1) build ffmpeg-0.4.9_p20051216 2) build stepmania (either 3.9_rc3 or 3.9) Actual results: G++ fails with the following: arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `int FFMpeg_Helper::DecodePacket()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:331: error: cannot convert `avcodec::AVCodecContext**' to `avcodec::AVCodecContext*' for argument `1' to `int avcodec::avcodec_decode_video(avcodec::AVCodecContext*, avcodec::AVFrame*, int*, uint8_t*, int)' arch/MovieTexture/MovieTexture_FFMpeg.cpp:363: error: request for member `frame_rate_base' in `((FFMpeg_Helper*)this)->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:363: error: request for member `frame_rate' in `((FFMpeg_Helper*)this)->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `void MovieTexture_FFMpeg::ConvertFrame()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:381: error: request for member `pix_fmt' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:382: error: request for member `width' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:382: error: request for member `height' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In function `avcodec::AVStream* FindVideoStream(avcodec::AVFormatContext*)': arch/MovieTexture/MovieTexture_FFMpeg.cpp:392: error: request for member `codec_type' in `enc->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In constructor `MovieTexture_FFMpeg::MovieTexture_FFMpeg(RageTextureID)': arch/MovieTexture/MovieTexture_FFMpeg.cpp:421: error: request for member `bit_rate' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:422: error: request for member `pix_fmt' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `void MovieTexture_FFMpeg::CreateDecoder()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:576: error: request for member `codec_id' in `stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:577: error: request for member `codec_tag' in `stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:579: error: request for member `codec_id' in `stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:581: error: request for member `codec_id' in `stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:584: error: cannot convert `avcodec::AVCodecContext**' to `avcodec::AVCodecContext*' for argument `1' to `int avcodec::avcodec_open(avcodec::AVCodecContext*, avcodec::AVCodec*)' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `void MovieTexture_FFMpeg::DestroyDecoder()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:599: error: cannot convert `avcodec::AVCodecContext**' to `avcodec::AVCodecContext*' for argument `1' to `int avcodec::avcodec_close(avcodec::AVCodecContext*)' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `void MovieTexture_FFMpeg::CreateTexture()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:640: error: request for member `width' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp:641: error: request for member `height' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' arch/MovieTexture/MovieTexture_FFMpeg.cpp: In member function `float MovieTexture_FFMpeg::CheckFrameTime()': arch/MovieTexture/MovieTexture_FFMpeg.cpp:821: error: request for member `frame_number' in `((MovieTexture_FFMpeg*)this)->MovieTexture_FFMpeg::decoder->FFMpeg_Helper::m_stream->avcodec::AVStream::codec', which is of non-class type `avcodec::AVCodecContext*' make[2]: *** [MovieTexture_FFMpeg.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/stepmania-3.9_rc3/work/StepMania-3.9-rc3-src/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/stepmania-3.9_rc3/work/StepMania-3.9-rc3-src/src' make: *** [all-recursive] Error 1 Expected results: Successful compile. Note: I have been successful in alleviating the first of the compile errors (at line 331), but I became stuck trying to fix line 363, as it seems the frame_rate and frame_rate_base members have disappeared in recent versions of ffmpeg. emerge --info: see attachment