[Solved] Marathon 1 Segmentation Fault

Have a question, suggestion, or comment about Aleph One's features and functionality (Lua, MML, the engine itself, etc)? Post such topics here.

[Solved] Marathon 1 Segmentation Fault

Post Jul 29th '14, 06:00

I'm in crunchbang debian/sid and compiled alephone from source, when trying to run marathon 1 i get this error:

Code: Select all
Error at line 14 with element of type sounds, attribute tag center_button and value 1240: unrecognized tag
Segmentation fault

The relevent lines in Marathon.mml:

Code: Select all
    <dialog index="0" sound="2330"/>
    <dialog index="1" sound="20140"/>
    <dialog index="2" sound="4040"/>
    <dialog index="3" sound="2270"/>
    <dialog index="4" sound="1180"/>
    <dialog index="5" sound="2232"/>
    <dialog index="6" sound="2232"/>
    <dialog index="7" sound="1220"/>
    <dialog index="8" sound="1390"/>

When removing the line "center_button="1240">" Marathon seems to start, but I get greeted with an error 2 asking if I was sure I installed the game files correctly. And this is the new error in the terminal:

Code: Select all
XML parsing error: not well-formed (invalid token) at line 31 in object Marathon.mml
There were parsing errors in configuration file Marathon.mml
Error at line 1: element of type marathon has no child of type marathon
There were parsing errors in configuration file Interface_Rects.mml

Marathon 2, Marathon: Infinity & Marathon: Rubicon X all start up fine, any ideas?
Last edited by orb on Jul 29th '14, 18:09, edited 1 time in total.

Post Jul 29th '14, 12:21

Hmm, center_button should be a recognized tag starting with Aleph One 1.1. What is the datestamp on your source tarball?

To alter that MML to leave out the center button sound, you need to leave the > since that closes the sounds tag. MML is just XML :)
User avatar


Post Jul 29th '14, 16:02

The source was from 2012...I downloaded the 2014 one, but I get this during make.

Code: Select all
Making all in FFmpeg
make[3]: Entering directory '/media/data/home/downloads/AlephOne-20140104/AlephOne-20140104/Source_Files/FFmpeg'
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../Source_Files/CSeries -I../../Source_Files/Files -I../../Source_Files/GameWorld -I../../Source_Files/Input -I../../Source_Files/Misc -I../../Source_Files/ModelView -I../../Source_Files/Network -I../../Source_Files/Sound -I../../Source_Files/RenderMain -I../../Source_Files/RenderOther -I../../Source_Files/XML -I../../Source_Files -D__STDC_CONSTANT_MACROS -I/usr/include/libpng12  -D_FORTIFY_SOURCE=2   -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL -std=c99 -g -O2 -MT SDL_ffmpeg.o -MD -MP -MF .deps/SDL_ffmpeg.Tpo -c -o SDL_ffmpeg.o SDL_ffmpeg.c
SDL_ffmpeg.c: In function ‘SDL_ffmpegFree’:
SDL_ffmpeg.c:327:13: warning: ‘av_close_input_file’ is deprecated (declared at /usr/include/libavformat/avformat.h:1622) [-Wdeprecated-declarations]
             av_close_input_file( file->_ffmpeg );
SDL_ffmpeg.c: In function ‘SDL_ffmpegDecodeAudioFrame’:
SDL_ffmpeg.c:2039:9: warning: ‘avcodec_decode_audio3’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3852) [-Wdeprecated-declarations]
         int len = avcodec_decode_audio3( file->audioStream->_ffmpeg->codec, ( int16_t* )file->audioStream->sampleBuffer, &audioSize, pack );
mv -f .deps/SDL_ffmpeg.Tpo .deps/SDL_ffmpeg.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../Source_Files/CSeries -I../../Source_Files/Files -I../../Source_Files/GameWorld -I../../Source_Files/Input -I../../Source_Files/Misc -I../../Source_Files/ModelView -I../../Source_Files/Network -I../../Source_Files/Sound -I../../Source_Files/RenderMain -I../../Source_Files/RenderOther -I../../Source_Files/XML -I../../Source_Files -D__STDC_CONSTANT_MACROS -I/usr/include/libpng12  -D_FORTIFY_SOURCE=2   -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DSDL  -g -O2 -MT Movie.o -MD -MP -MF .deps/Movie.Tpo -c -o Movie.o Movie.cpp
Movie.cpp: In member function ‘bool Movie::Setup()’:
Movie.cpp:494:61: error: ‘AVStream’ has no member named ‘quality’
         audio_stream->codec->global_quality = audio_stream->quality = FF_QP2LAMBDA * (aq / 10);
Movie.cpp: In member function ‘void Movie::EncodeVideo(bool)’:
Movie.cpp:618:21: warning: ‘int avcodec_encode_video(AVCodecContext*, uint8_t*, int, const AVFrame*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4272) [-Wdeprecated-declarations]
         int vsize = avcodec_encode_video(vcodec,
Movie.cpp:620:47: warning: ‘int avcodec_encode_video(AVCodecContext*, uint8_t*, int, const AVFrame*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4272) [-Wdeprecated-declarations]
Makefile:298: recipe for target 'Movie.o' failed
make[3]: *** [Movie.o] Error 1
make[3]: Leaving directory '/media/data/home/downloads/AlephOne-20140104/AlephOne-20140104/Source_Files/FFmpeg'
Makefile:464: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/media/data/home/downloads/AlephOne-20140104/AlephOne-20140104/Source_Files'
Makefile:505: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/media/data/home/downloads/AlephOne-20140104/AlephOne-20140104'
Makefile:400: recipe for target 'all' failed
make: *** [all] Error 2

I think this patch may help, but I'm a bit confused on how to apply it...?

Post Jul 29th '14, 17:35

You could --disable-fmpeg, that should let you build and will give you most of the functionality. You just won't be able to record videos.

We should probably release an updated version with that change integrated, but it's a lot of trouble to go through for such a little thing.
User avatar


Post Jul 29th '14, 18:08

That works (--disable-ffmpeg that is)! Thanks!

Return to Aleph One Discussion

Who is online

Users browsing this forum: No registered users