When I try to build Aleph One on Debian Testing (13) I get the next build error:
Making all in FFmpeg
make[3]: Entering directory '/root/alephone-release-20240822/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/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/p11-kit-1 -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/AL -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/SDL2 -D_REENTRANT -DSDL -std=c99 -g -O2 -c -o SDL_ffmpeg.o SDL_ffmpeg.c
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/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/p11-kit-1 -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp -I/usr/include/AL -I/usr/include/opus -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -I/usr/include/SDL2 -D_REENTRANT -DSDL -g -O2 -c -o Movie.o Movie.cpp
SDL_ffmpeg.c: In function 'SDL_ffmpegOpen':
SDL_ffmpeg.c:380:34: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
380 | AVCodec *codec = avcodec_find_decoder( stream->_ffmpeg->codecpar->codec_id );
| ^~~~~~~~~~~~~~~~~~~~
SDL_ffmpeg.c:430:34: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
430 | AVCodec *codec = avcodec_find_decoder( file->_ffmpeg->streams[i]->codecpar->codec_id );
| ^~~~~~~~~~~~~~~~~~~~
SDL_ffmpeg.c:447:69: error: 'AVCodecParameters' has no member named 'channel_layout'; did you mean 'ch_layout'?
447 | int channel_layout = stream->_ffmpeg->codecpar->channel_layout ? stream->_ffmpeg->codecpar->channel_layout :
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:447:113: error: 'AVCodecParameters' has no member named 'channel_layout'; did you mean 'ch_layout'?
447 | int channel_layout = stream->_ffmpeg->codecpar->channel_layout ? stream->_ffmpeg->codecpar->channel_layout :
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:448:51: error: 'AVCodecParameters' has no member named 'channels'
448 | (stream->_ffmpeg->codecpar->channels == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO);
| ^~
SDL_ffmpeg.c:450:43: error: implicit declaration of function 'swr_alloc_set_opts'; did you mean 'swr_alloc_set_opts2'? [-Wimplicit-function-declaration]
450 | stream->swr_context = swr_alloc_set_opts(stream->swr_context, channel_layout, AV_SAMPLE_FMT_FLT,
| ^~~~~~~~~~~~~~~~~~
| swr_alloc_set_opts2
SDL_ffmpeg.c:450:41: error: assignment to 'struct SwrContext *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
450 | stream->swr_context = swr_alloc_set_opts(stream->swr_context, channel_layout, AV_SAMPLE_FMT_FLT,
| ^
SDL_ffmpeg.c: In function 'SDL_ffmpegCreate':
SDL_ffmpeg.c:500:24: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
500 | file->_ffmpeg->url = filename;
| ^
SDL_ffmpeg.c: In function 'SDL_ffmpegAddAudioFrame':
SDL_ffmpeg.c:651:107: error: 'AVCodecContext' has no member named 'channels'
651 | int32_t read_samples = frame->size / (av_get_bytes_per_sample(file->audioStream->audioFormat) * acodec->channels);
| ^~
SDL_ffmpeg.c:668:16: error: 'AVFrame' has no member named 'channels'
668 | audio_frame->channels = acodec->channels;
| ^~
SDL_ffmpeg.c:668:35: error: 'AVCodecContext' has no member named 'channels'
668 | audio_frame->channels = acodec->channels;
| ^~
SDL_ffmpeg.c:670:18: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
670 | audio_frame->channel_layout = acodec->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:670:43: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
670 | audio_frame->channel_layout = acodec->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:678:61: error: 'AVCodecContext' has no member named 'channels'
678 | int asize = avcodec_fill_audio_frame(audio_frame, acodec->channels,
| ^~
SDL_ffmpeg.c:681:43: error: 'AVCodecContext' has no member named 'channels'
681 | write_samples * write_bps * acodec->channels, 1);
| ^~
SDL_ffmpeg.c: In function 'SDL_ffmpegCreateAudioFrame':
SDL_ffmpeg.c:765:140: error: 'struct AVCodecContext' has no member named 'channels'
765 | bytes = file->audioStream->encodeAudioInputSize * av_get_bytes_per_sample(file->audioStream->audioFormat) * file->audioStream->_ctx->channels;
| ^~
SDL_ffmpeg.c:768:103: error: 'struct AVCodecContext' has no member named 'channels'
768 | if (av_samples_alloc_array_and_samples(&frame->conversionBuffer, NULL, file->audioStream->_ctx->channels, file->audioStream->encodeAudioInputSize, file->audioStream->_ctx->sample_fmt, 0) < 0)
| ^~
SDL_ffmpeg.c: In function 'SDL_ffmpegGetAudioSpec':
SDL_ffmpeg.c:1358:59: error: 'struct AVCodecContext' has no member named 'channels'
1358 | spec.channels = ( uint8_t )file->audioStream->_ctx->channels;
| ^~
SDL_ffmpeg.c: In function 'SDL_ffmpegAddAudioStream':
SDL_ffmpeg.c:1690:21: error: 'AVCodecParameters' has no member named 'channels'
1690 | stream->codecpar->channels = codec.channels;
| ^~
SDL_ffmpeg.c:1691:23: error: 'AVCodecParameters' has no member named 'channel_layout'; did you mean 'ch_layout'?
1691 | stream->codecpar->channel_layout = codec.channels == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:1737:74: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
1737 | str->swr_context = swr_alloc_set_opts(str->swr_context, context->channel_layout, context->sample_fmt, context->sample_rate,
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:1738:22: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
1738 | context->channel_layout, str->audioFormat, context->sample_rate, 0, NULL);
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:1748:79: error: 'AVCodecParameters' has no member named 'channels'
1748 | str->sampleBufferSize = av_samples_get_buffer_size(0, stream->codecpar->channels, stream->codecpar->frame_size, AV_SAMPLE_FMT_FLT, 0);
| ^~
SDL_ffmpeg.c:1750:82: error: 'AVCodecParameters' has no member named 'channels'
1750 | if (av_samples_alloc((uint8_t**)(&str->sampleBuffer), 0, stream->codecpar->channels, stream->codecpar->frame_size, AV_SAMPLE_FMT_FLT, 0) < 0)
| ^~
SDL_ffmpeg.c:1760:81: error: 'AVCodecParameters' has no member named 'channels'
1760 | str->encodeAudioInputSize = str->sampleBufferSize / stream->codecpar->channels;
| ^~
SDL_ffmpeg.c: In function 'SDL_ffmpegDecodeAudioFrame':
SDL_ffmpeg.c:1949:43: error: 'struct AVCodecContext' has no member named 'channels'
1949 | int channels = file->audioStream->_ctx->channels;
| ^~
SDL_ffmpeg.c:2024:17: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
2024 | dframe->channel_layout |= dframe->channels == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:2024:41: error: 'AVFrame' has no member named 'channels'
2024 | dframe->channel_layout |= dframe->channels == 2 ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
| ^~
SDL_ffmpeg.c:2026:25: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
2026 | convertedFrame->channel_layout = dframe->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:2026:50: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
2026 | convertedFrame->channel_layout = dframe->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
SDL_ffmpeg.c:2039:79: error: 'AVFrame' has no member named 'channels'
2039 | int data_size = av_samples_get_buffer_size(&plane_size, convertedFrame->channels, convertedFrame->nb_samples, convertedFrame->format, 1);
| ^~
SDL_ffmpeg.c:2043:37: error: 'AVFrame' has no member named 'channels'
2043 | if (planar && convertedFrame->channels > 1)
| ^~
SDL_ffmpeg.c:2047:45: error: 'AVFrame' has no member named 'channels'
2047 | for (ch = 1; ch < convertedFrame->channels; ch++)
| ^~
make[3]: *** [Makefile:410: SDL_ffmpeg.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Movie.cpp:120:5: error: 'AVFifoBuffer' does not name a type; did you mean 'AVBuffer'?
120 | AVFifoBuffer *audio_fifo;
| ^~~~~~~~~~~~
| AVBuffer
Movie.cpp: In member function 'bool Movie::Setup()':
Movie.cpp:282:9: error: 'struct libav_vars' has no member named 'audio_fifo'
282 | av->audio_fifo = av_fifo_alloc(262144);
| ^~~~~~~~~~
Movie.cpp:282:22: error: 'av_fifo_alloc' was not declared in this scope; did you mean 'av_fifo_alloc2'?
282 | av->audio_fifo = av_fifo_alloc(262144);
| ^~~~~~~~~~~~~
| av_fifo_alloc2
Movie.cpp:283:14: error: 'struct libav_vars' has no member named 'audio_fifo'
283 | if (!av->audio_fifo) { ThrowUserError("Could not allocate audio fifo"); return false; }
| ^~~~~~~~~~
Movie.cpp: In member function 'void Movie::EncodeAudio(bool)':
Movie.cpp:338:31: error: 'struct libav_vars' has no member named 'audio_fifo'
338 | av_fifo_generic_write(av->audio_fifo, &audiobuf[0], audiobuf.size(), NULL);
| ^~~~~~~~~~
Movie.cpp:338:5: error: 'av_fifo_generic_write' was not declared in this scope; did you mean 'av_fifo_can_write'?
338 | av_fifo_generic_write(av->audio_fifo, &audiobuf[0], audiobuf.size(), NULL);
| ^~~~~~~~~~~~~~~~~~~~~
| av_fifo_can_write
Movie.cpp:342:28: error: 'struct AVCodecContext' has no member named 'channels'
342 | int channels = acodec->channels;
| ^~~~~~~~
Movie.cpp:346:29: error: 'struct libav_vars' has no member named 'audio_fifo'
346 | while (av_fifo_size(av->audio_fifo) >= min_read)
| ^~~~~~~~~~
Movie.cpp:346:12: error: 'av_fifo_size' was not declared in this scope; did you mean 'avio_size'?
346 | while (av_fifo_size(av->audio_fifo) >= min_read)
| ^~~~~~~~~~~~
| avio_size
In file included from ../../Source_Files/CSeries/cseries.h:102,
from Movie.cpp:26:
Movie.cpp:348:71: error: 'struct libav_vars' has no member named 'audio_fifo'
348 | int read_bytes = av->audio_frame->size = MIN(av_fifo_size(av->audio_fifo), max_read);
| ^~~~~~~~~~
../../Source_Files/CSeries/csmacros.h:39:20: note: in definition of macro 'MIN'
39 | #define MIN(a,b) ((a)<=(b) ? (a) : (b))
| ^
Movie.cpp:348:71: error: 'struct libav_vars' has no member named 'audio_fifo'
348 | int read_bytes = av->audio_frame->size = MIN(av_fifo_size(av->audio_fifo), max_read);
| ^~~~~~~~~~
../../Source_Files/CSeries/csmacros.h:39:31: note: in definition of macro 'MIN'
39 | #define MIN(a,b) ((a)<=(b) ? (a) : (b))
| ^
Movie.cpp:349:34: error: 'struct libav_vars' has no member named 'audio_fifo'
349 | av_fifo_generic_read(av->audio_fifo, av->audio_frame->buffer, read_bytes, NULL);
| ^~~~~~~~~~
Movie.cpp:349:9: error: 'av_fifo_generic_read' was not declared in this scope; did you mean 'av_fifo_can_read'?
349 | av_fifo_generic_read(av->audio_fifo, av->audio_frame->buffer, read_bytes, NULL);
| ^~~~~~~~~~~~~~~~~~~~
| av_fifo_can_read
Movie.cpp: In member function 'void Movie::StopRecording()':
Movie.cpp:467:13: error: 'struct libav_vars' has no member named 'audio_fifo'
467 | if (av->audio_fifo)
| ^~~~~~~~~~
Movie.cpp:469:26: error: 'struct libav_vars' has no member named 'audio_fifo'
469 | av_fifo_free(av->audio_fifo);
| ^~~~~~~~~~
Movie.cpp:469:9: error: 'av_fifo_free' was not declared in this scope; did you mean 'av_fifo_freep2'?
469 | av_fifo_free(av->audio_fifo);
| ^~~~~~~~~~~~
| av_fifo_freep2
Movie.cpp:470:13: error: 'struct libav_vars' has no member named 'audio_fifo'
470 | av->audio_fifo = NULL;
| ^~~~~~~~~~
make[3]: *** [Makefile:426: Movie.o] Error 1
make[3]: Leaving directory '/root/alephone-release-20240822/Source_Files/FFmpeg'
make[2]: *** [Makefile:604: all-recursive] Error 1
make[2]: Leaving directory '/root/alephone-release-20240822/Source_Files'
make[1]: *** [Makefile:560: all-recursive] Error 1
make[1]: Leaving directory '/root/alephone-release-20240822'
make: *** [Makefile:454: all] Error 2
When I try to build Aleph One on Debian Testing (13) I get the next build error: