Build error in renpy 6.13.12

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Post Reply
Message
Author
User avatar
multixrulz
Newbie
Posts: 4
Joined: Thu Jul 19, 2012 7:05 am
Contact:

Build error in renpy 6.13.12

#1 Post by multixrulz »

Sorry if this is the wrong place for this problem. It seemed the most appropriate spot for build errors.

I'm trying to build renpy 6.13.12 on ArchLinux. The build command is

Code: Select all

CFLAGS=-Os module/setup.py build
it fails with the following (quoted in full)

Code: Select all

building 'pysdlsound.sound' extension
gcc -pthread -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Os -fPIC -I. -I/usr/include -I/usr/include/SDL -I/usr/include/freetype2 -I/usr/include/python2.7 -c gen/pysdlsound.sound.c -o build/temp.linux-x86_64-2.7/gen/pysdlsound.sound.o -Wno-unused-function
gen/pysdlsound.sound.c: In function ‘__pyx_pf_10pysdlsound_5sound_check_error’:
gen/pysdlsound.sound.c:557:13: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
gcc -pthread -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Os -fPIC -I. -I/usr/include -I/usr/include/SDL -I/usr/include/freetype2 -I/usr/include/python2.7 -c pss.c -o build/temp.linux-x86_64-2.7/pss.o -Wno-unused-function
gcc -pthread -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Os -fPIC -I. -I/usr/include -I/usr/include/SDL -I/usr/include/freetype2 -I/usr/include/python2.7 -c rwobject.c -o build/temp.linux-x86_64-2.7/rwobject.o -Wno-unused-function
gcc -pthread -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -Os -fPIC -I. -I/usr/include -I/usr/include/SDL -I/usr/include/freetype2 -I/usr/include/python2.7 -c ffdecode.c -o build/temp.linux-x86_64-2.7/ffdecode.o -Wno-unused-function
ffdecode.c:197:5: error: unknown type name ‘ByteIOContext’
ffdecode.c:245:32: error: ‘FF_ER_CAREFUL’ undeclared here (not in a function)
ffdecode.c:287:1: error: unknown type name ‘ByteIOContext’
ffdecode.c: In function ‘rwops_open’:
ffdecode.c:290:5: error: unknown type name ‘ByteIOContext’
ffdecode.c:290:25: warning: initialization makes pointer from integer without a cast [enabled by default]
ffdecode.c: In function ‘audio_decode_frame’:
ffdecode.c:1539:13: warning: ‘avcodec_decode_audio3’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3658) [-Wdeprecated-declarations]
ffdecode.c:1561:59: error: ‘SAMPLE_FMT_S16’ undeclared (first use in this function)
ffdecode.c:1561:59: note: each undeclared identifier is reported only once for each function it appears in
ffdecode.c: In function ‘stream_component_open’:
ffdecode.c:1819:8: error: ‘AVCodecContext’ has no member named ‘error_recognition’
ffdecode.c:1828:5: warning: ‘avcodec_open’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3380) [-Wdeprecated-declarations]
ffdecode.c: In function ‘dump_stream_info’:
ffdecode.c:1956:5: error: unknown type name ‘AVMetadataTag’
ffdecode.c:1957:52: error: ‘AV_METADATA_IGNORE_SUFFIX’ undeclared (first use in this function)
ffdecode.c:1958:40: error: request for member ‘key’ in something not a structure or union
ffdecode.c:1958:50: error: request for member ‘value’ in something not a structure or union
ffdecode.c: In function ‘decode_thread’:
ffdecode.c:1971:5: error: unknown type name ‘AVFormatParameters’
ffdecode.c:1975:5: error: unknown type name ‘ByteIOContext’
ffdecode.c:1995:7: error: request for member ‘width’ in something not a structure or union
ffdecode.c:1996:7: error: request for member ‘height’ in something not a structure or union
ffdecode.c:1997:7: error: request for member ‘time_base’ in something not a structure or union
ffdecode.c:1998:7: error: request for member ‘pix_fmt’ in something not a structure or union
ffdecode.c:2053:5: warning: ‘av_find_stream_info’ is deprecated (declared at /usr/include/libavformat/avformat.h:1357) [-Wdeprecated-declarations]
ffdecode.c:2281:27: error: request for member ‘buffer’ in something not a structure or union
error: command 'gcc' failed with exit status 1
I have ffmpeg 1:0.11.1-1 installed. Presumably something new in ffmpeg has broken renpy, as I've previously built an older version against an older ffmpeg without problems.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Build error in renpy 6.13.12

#2 Post by PyTom »

That looks possible. I've been building Ren'Py against libav, rather than ffmpeg.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
multixrulz
Newbie
Posts: 4
Joined: Thu Jul 19, 2012 7:05 am
Contact:

Re: Build error in renpy 6.13.12

#3 Post by multixrulz »

That's one big can of worms I didn't know about (ie the ffmpeg/libav fight).

I really don't have the choice of using libav (at least not without a lot of work). I would actually like to keep using Ren'Py, so what's the best way forward for me? I assume you're not too interested in maintaining different sets of code for libav and ffmpeg.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: Build error in renpy 6.13.12

#4 Post by PyTom »

Is it possible to jump back to an older version of ffmpeg? I wouldn't mind making the changes, I just don't have the time to figure them out at the moment.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
multixrulz
Newbie
Posts: 4
Joined: Thu Jul 19, 2012 7:05 am
Contact:

Re: Build error in renpy 6.13.12

#5 Post by multixrulz »

I can't revert ffmpeg. If I did, everything else that depends on ffmpeg would break, etc. etc. to the point where I could never upgrade my system. Not to mention that I can't get the old version package files. ArchLinux is a rolling release, this is one situation where that's a problem.

I haven't worked in C for years, but I'll poke around a bit and see if I can send a patch.

User avatar
multixrulz
Newbie
Posts: 4
Joined: Thu Jul 19, 2012 7:05 am
Contact:

Re: Build error in renpy 6.13.12

#6 Post by multixrulz »

Well I took a look at the offending source file, ffdecode.c. Since it appeared at first glance to be the source file for ffplay, I tried copying the contents of ffplay.c from my version of ffmpeg in there. After commenting out a couple of #includes and copying over a couple more, it compiled cleanly.

But I don't have any sound :-(

Obviously there's more to fix than what I've just done.

Do you have time to give me a few clues about how the renpy python module works?

Post Reply

Who is online

Users browsing this forum: No registered users