Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 107818
Alias:
Product:
Component:
Status: RESOLVED
Resolution: UPSTREAM
Assigned To: Warp Zero (RETIRED) <warpzero@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Samuli Suominen <ssuominen@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
ffmpegfix.patch Patch for ffmpeg related code patch Ted Schundler 2006-01-01 10:26 0000 4.62 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 107818 depends on: Show dependency tree
Bug 107818 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2005-10-01 14:03 0000
games-arcade/stepmania-3.9_rc3 fails to compile on ~x86 system.

[ ..... ]

if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.  -I/usr/include/SDL -
D_REENTRANT   -finline-limit=300   -march=athlon-xp -O2 -pipe -fomit-frame-
pointer -MT LightsDriver.o -MD -MP -MF ".deps/LightsDriver.Tpo" \
  -c -o LightsDriver.o `test -f 'arch/Lights/LightsDriver.cpp' || echo './
'`arch/Lights/LightsDriver.cpp; \
then mv -f ".deps/LightsDriver.Tpo" ".deps/LightsDriver.Po"; \
else rm -f ".deps/LightsDriver.Tpo"; exit 1; \
fi
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

!!! ERROR: games-arcade/stepmania-3.9_rc3 failed.
!!! Function src_compile, Line 52, Exitcode 2
!!! Make failed
!!! If you need support, post the topmost build error, NOT this status message.

drac@drac ~ $

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
ACCEPT_KEYWORDS="~x86"

[ebuild  N    ] games-arcade/stepmania-3.9_rc3  -debug +gtk +jpeg +mad +mpeg 
+vorbis 0 kB

This has been replicated on another Gentoo x86 system. Same error.


Reproducible: Always
Steps to Reproduce:
1. emerge -av stepmania

Actual Results:  
Fails to build.

Expected Results:  
Builds.

------- Comment #1 From Wojciech Myrda 2005-10-08 01:58:46 0000 -------
   I can confirm same error on ~x86 based system. It happens with both
Stepmania-3.9_rc3 and recently released Stepmania-3.9_rc4. It happens with both
FFmpeg ~x86 version from portage and CVS version form 06 October 2005. 

   For me it seems that reverting to stable (ffmpeg-0.4.9_p20050226-r5) would do
a trick (unconfirmed), but is there another solution for this as I would like to
revert to taht version of FFmpeg becouse of new features that are in it now
concerning video editing (improved x264 etc.). If there is anyone who solved it
or found an solution for it I would appreciate it, as this game is really fun ;)

Thanks

Same error:

if i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.  -I/usr/include/SDL
-D_REENTRANT   -finline-limit=300   -march=athlon -O3 -pipe -ffast-math
-fomit-frame-pointer -MT LightsDriver.o -MD -MP -MF ".deps/LightsDriver.Tpo" \
  -c -o LightsDriver.o `test -f 'arch/Lights/LightsDriver.cpp' || echo
'./'`arch/Lights/LightsDriver.cpp; \
then mv -f ".deps/LightsDriver.Tpo" ".deps/LightsDriver.Po"; \
else rm -f ".deps/LightsDriver.Tpo"; exit 1; \
fi
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 


(...)


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_rc4/work/StepMania-3.9-rc4-src/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/var/tmp/portage/stepmania-3.9_rc4/work/StepMania-3.9-rc4-src/src'
make: *** [all-recursive] Error 1

!!! ERROR: games-arcade/stepmania-3.9_rc4 failed.
!!! Function src_compile, Line 53, Exitcode 2
!!! Make failed
!!! If you need support, post the topmost build error, NOT this status message.

------- Comment #2 From Kari Hazzard 2005-11-12 11:28:46 0000 -------
I also encountered this bug... I decided to try ryszard's suggestion of
reverting ffmpeg to =media-video/ffmpeg-0.4.9_p20050226-r5 and stepmania does
indeed compile with that version. While this is not a solution to the problem
reverting ffmpeg is a valid workaround until the stepmania developers release a
version of stepmania that implements the latest version of ffmpeg or Gentoo
issues a patch to fix the bug.

------- Comment #3 From Chris Gianelloni (RETIRED) 2005-11-21 18:17:46 0000 -------
Can you try out the ebuild in bug #109535 and see if it builds for you?

------- Comment #4 From Sterling Christensen 2005-12-02 17:44:22 0000 -------
I tried out the 3.9 ebuild from bug #109535, and got the same error.

ffmpeg-0.4.9_p20051120

------- Comment #5 From Ted Schundler 2006-01-01 10:26:01 0000 -------
Created an attachment (id=75924) [details]
Patch for ffmpeg related code

I dunno if this is the best place to post it, but I fussed around a bit and got
StepMania compiling with the latest ffmpeg in Gentoo. Though the frame rate was
messed up. Adjusting it to not use pts/dts from the stream seems to have fixed
it and now everything seems to work.
To apply the patch, get the source tarball for SM from SourceForge, then do
something like the line below in the directory that the source gets unzipped
into:

patch src/arch/MovieTexture/MovieTexture_FFMpeg.cpp < ~/ffmpegfix.patch

Then run ./configure and make as usual

------- Comment #6 From Charles Christie 2006-01-04 20:38:13 0000 -------
I'm having the same issue:

http://forums.gentoo.org/viewtopic-t-419549.html

It's really getting annoying. My dad doesn't want me playing games on his PC so
I had to install StepMania somewhere... So, could we get some help?

------- Comment #7 From Jonas Bergler 2006-01-10 22:58:26 0000 -------
same error again here, use="-mpeg" solves temporarily too, not sure how much
functionality is lost

------- Comment #8 From Charles Christie 2006-01-18 16:03:22 0000 -------
How do I use that patch? also, why haven't the devs done anything about it? I
think they would've by now, they usually respond much faster.

------- Comment #9 From Samuli Suominen 2006-03-08 07:03:44 0000 -------
Okay, since Portage has new versions of FFMPEG and Stepmania 3.9 is out, how
about a version bump? And we'll see how things go from here again..

------- Comment #10 From Samuli Suominen 2006-03-08 07:04:41 0000 -------
Hah. Silly typing errors in my last post, but I hope you got the idea :-)

------- Comment #11 From Samuli Suominen 2006-04-25 06:48:58 0000 -------
From http://www.stepmania.com/wiki/Notes_for_building_in_Linux , 

3.9 and 4.0 CVS won't compile correctly with FFMpeg 0.4.9_p20050906, the
default version currently for Gentoo ~x86. I'm guessing 3.9 releases will
suffer the same problem, but I haven't tested.

That url also includes patches.. but against ffmpeg, forcing user into single
version of ffmpeg with stepmania patches. Not something I would do.

Just remove ~x86 keyword from stepmania or maybe even in package.mask for time
being..

Not to mention Stepmania in Portage is out of date.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug