Summary: | media-libs/gegl fails to compile against latest ffmpeg git | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | jospezial <jospezial> |
Component: | Current packages | Assignee: | Sergey Torokhov <torokhov-s-a> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | jospezial, proxy-maint, torokhov-s-a |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://gitlab.gnome.org/GNOME/gegl/-/issues/371 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 928905 | ||
Attachments: | build.log gzipped |
Description
jospezial
2024-03-12 09:17:42 UTC
Created attachment 887455 [details]
build.log gzipped
FAILED: operations/external/ff-load.so.p/ff-load.c.o
x86_64-pc-linux-gnu-gcc -Ioperations/external/ff-load.so.p -Ioperations/external -I../gegl-9999/operations/external -I. -I../gegl-9999 -Igegl -I../gegl-9999/gegl -Igegl/buffer -I../gegl-9999/gegl/buffer -Igegl/graph -I../gegl-9999/gegl/graph -Igegl/module -I../gegl-9999/gegl/module -Igegl/opencl -I../gegl-9999/gegl/opencl -Igegl/operation -I../gegl-9999/gegl/operation -Igegl/process -I../gegl-9999/gegl/process -Igegl/property-types -I../gegl-9999/gegl/property-types -I/usr/include/babl-0.1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -Winit-self -Wmissing-declarations -Wpointer-arith -Wno-unused-parameter -Wno-cast-function-type -ftree-vectorize -Wmissing-prototypes -Wold-style-definition -march=native -mtune=native -O2 -pipe -Wno-incompatible-pointer-types -fPIC -pthread -MD -MQ operations/external/ff-load.so.p/ff-load.c.o -MF operations/external/ff-load.so.p/ff-load.c.o.d -o operations/external/ff-load.so.p/ff-load.c.o -c ../gegl-9999/operations/external/ff-load.c
In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9,
from /usr/include/glib-2.0/glib/gtypes.h:34,
from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/glib/gi18n-lib.h:23,
from ../gegl-9999/operations/external/ff-load.c:20:
../gegl-9999/operations/external/ff-load.c: In function ‘decode_audio’:
../gegl-9999/operations/external/ff-load.c:253:62: error: ‘AVCodecParameters’ has no member named ‘channels’
253 | int channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
| ^~
/usr/include/glib-2.0/glib/gmacros.h:935:23: note: in definition of macro ‘MIN’
935 | #define MIN(a, b) (((a) < (b)) ? (a) : (b))
| ^
../gegl-9999/operations/external/ff-load.c:253:62: error: ‘AVCodecParameters’ has no member named ‘channels’
253 | int channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
| ^~
/usr/include/glib-2.0/glib/gmacros.h:935:36: note: in definition of macro ‘MIN’
935 | #define MIN(a, b) (((a) < (b)) ? (a) : (b))
| ^
../gegl-9999/operations/external/ff-load.c: In function ‘decode_frame’:
../gegl-9999/operations/external/ff-load.c:347:1: warning: ‘ticks_per_frame’ is deprecated [-Wdeprecated-declarations]
347 | , AV_TIME_BASE_Q, p->video_stream->time_base) / p->video_ctx->ticks_per_frame;
| ^
In file included from ../gegl-9999/operations/external/ff-load.c:69:
/usr/include/libavcodec/avcodec.h:576:9: note: declared here
576 | int ticks_per_frame;
| ^~~~~~~~~~~~~~~
../gegl-9999/operations/external/ff-load.c:401:15: warning: ‘key_frame’ is deprecated [-Wdeprecated-declarations]
401 | if ((pkt.dts == pkt.pts) || (p->lavc_frame->key_frame!=0))
| ^~
In file included from /usr/include/libavformat/avformat.h:327,
from ../gegl-9999/operations/external/ff-load.c:68:
/usr/include/libavutil/frame.h:436:9: note: declared here
436 | int key_frame;
| ^~~~~~~~~
../gegl-9999/operations/external/ff-load.c: In function ‘prepare’:
../gegl-9999/operations/external/ff-load.c:556:64: error: ‘AVCodecParameters’ has no member named ‘channels’
556 | o->audio_channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
| ^~
/usr/include/glib-2.0/glib/gmacros.h:935:23: note: in definition of macro ‘MIN’
935 | #define MIN(a, b) (((a) < (b)) ? (a) : (b))
| ^
../gegl-9999/operations/external/ff-load.c:556:64: error: ‘AVCodecParameters’ has no member named ‘channels’
556 | o->audio_channels = MIN(p->audio_stream->codecpar->channels, GEGL_MAX_AUDIO_CHANNELS);
| ^~
/usr/include/glib-2.0/glib/gmacros.h:935:36: note: in definition of macro ‘MIN’
935 | #define MIN(a, b) (((a) < (b)) ? (a) : (b))
| ^
[843/1270] x86_64-pc-linux-gnu-gcc -Ioperations/external/ff-save.so.p -Ioperations/external -I../gegl-9999/operations/external -I. -I../gegl-9999 -Igegl -I../gegl-9999/gegl -Igegl/buffer -I../gegl-9999/gegl/buffer -Igegl/graph -I../gegl-9999/gegl/graph -Igegl/module -I../gegl-9999/gegl/module -Igegl/opencl -I../gegl-9999/gegl/opencl -Igegl/operation -I../gegl-9999/gegl/operation -Igegl/process -I../gegl-9999/gegl/process -Igegl/property-types -I../gegl-9999/gegl/property-types -I/usr/include/babl-0.1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -Winit-self -Wmissing-declarations -Wpointer-arith -Wno-unused-parameter -Wno-cast-function-type -ftree-vectorize -Wmissing-prototypes -Wold-style-definition -march=native -mtune=native -O2 -pipe -Wno-incompatible-pointer-types -fPIC -pthread -MD -MQ operations/external/ff-save.so.p/ff-save.c.o -MF operations/external/ff-save.so.p/ff-save.c.o.d -o operations/external/ff-save.so.p/ff-save.c.o -c ../gegl-9999/operations/external/ff-save.c
FAILED: operations/external/ff-save.so.p/ff-save.c.o
x86_64-pc-linux-gnu-gcc -Ioperations/external/ff-save.so.p -Ioperations/external -I../gegl-9999/operations/external -I. -I../gegl-9999 -Igegl -I../gegl-9999/gegl -Igegl/buffer -I../gegl-9999/gegl/buffer -Igegl/graph -I../gegl-9999/gegl/graph -Igegl/module -I../gegl-9999/gegl/module -Igegl/opencl -I../gegl-9999/gegl/opencl -Igegl/operation -I../gegl-9999/gegl/operation -Igegl/process -I../gegl-9999/gegl/process -Igegl/property-types -I../gegl-9999/gegl/property-types -I/usr/include/babl-0.1 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/libffi/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -DHAVE_CONFIG_H -Winit-self -Wmissing-declarations -Wpointer-arith -Wno-unused-parameter -Wno-cast-function-type -ftree-vectorize -Wmissing-prototypes -Wold-style-definition -march=native -mtune=native -O2 -pipe -Wno-incompatible-pointer-types -fPIC -pthread -MD -MQ operations/external/ff-save.so.p/ff-save.c.o -MF operations/external/ff-save.so.p/ff-save.c.o.d -o operations/external/ff-save.so.p/ff-save.c.o -c ../gegl-9999/operations/external/ff-save.c
../gegl-9999/operations/external/ff-save.c: In function ‘add_audio_stream’:
../gegl-9999/operations/external/ff-save.c:318:7: error: ‘AVCodecParameters’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
318 | cp->channel_layout = AV_CH_LAYOUT_STEREO;
| ^~~~~~~~~~~~~~
| ch_layout
../gegl-9999/operations/external/ff-save.c:319:5: error: ‘AVCodecParameters’ has no member named ‘channels’
319 | cp->channels = 2;
| ^~
../gegl-9999/operations/external/ff-save.c: In function ‘alloc_audio_frame’:
../gegl-9999/operations/external/ff-save.c:395:10: error: ‘AVFrame’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
395 | frame->channel_layout = c->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
../gegl-9999/operations/external/ff-save.c:395:30: error: ‘AVCodecContext’ has no member named ‘channel_layout’; did you mean ‘ch_layout’?
395 | frame->channel_layout = c->channel_layout;
| ^~~~~~~~~~~~~~
| ch_layout
../gegl-9999/operations/external/ff-save.c:396:8: error: ‘AVFrame’ has no member named ‘channels’
396 | frame->channels = c->channels;
| ^~
../gegl-9999/operations/external/ff-save.c:396:22: error: ‘AVCodecContext’ has no member named ‘channels’
396 | frame->channels = c->channels;
| ^~
../gegl-9999/operations/external/ff-save.c: In function ‘encode_audio_fragments’:
../gegl-9999/operations/external/ff-save.c:426:37: error: ‘AVCodecContext’ has no member named ‘channels’
426 | ((float*)frame->data[0])[c->channels*i+0] = left;
| ^~
../gegl-9999/operations/external/ff-save.c:427:37: error: ‘AVCodecContext’ has no member named ‘channels’
427 | ((float*)frame->data[0])[c->channels*i+1] = right;
| ^~
../gegl-9999/operations/external/ff-save.c:444:39: error: ‘AVCodecContext’ has no member named ‘channels’
444 | ((int16_t*)frame->data[0])[c->channels*i+0] = left * (1<<15);
| ^~
../gegl-9999/operations/external/ff-save.c:445:39: error: ‘AVCodecContext’ has no member named ‘channels’
445 | ((int16_t*)frame->data[0])[c->channels*i+1] = right * (1<<15);
| ^~
../gegl-9999/operations/external/ff-save.c:453:39: error: ‘AVCodecContext’ has no member named ‘channels’
453 | ((int32_t*)frame->data[0])[c->channels*i+0] = left * (1<<31);
| ^~
../gegl-9999/operations/external/ff-save.c:454:39: error: ‘AVCodecContext’ has no member named ‘channels’
454 | ((int32_t*)frame->data[0])[c->channels*i+1] = right * (1<<31);
| ^~
ninja: build stopped: subcommand failed.
* ERROR: media-libs/gegl-9999::gentoo failed (compile phase):
* compile failed
*
* Call stack:
* ebuild.sh, line 136: Called src_compile
* environment, line 3506: Called meson_src_compile
* environment, line 2637: Called die
* The specific snippet of code:
* "$@" || die "compile failed"
@jospezial Yes, I saw this patch early and I'm waiting it will be accepted by upstream. I checked that it fix gegl release build and tests works too with it for ffmpeg-9999 (i.e. ffmpeg-7 that isn't in portage tree) but doesn't fix tests for ffmpeg-6.x. On the other hand if ffmpeg-7 will be added soon then there will be gegl release ebuild that works with it if that patch will be applied. I hope the upstream merge this patch this week if not then I add patch to latest gegl release and it retest again. The issue was fixed by upstream commits on 4 May 2024: https://gitlab.gnome.org/GNOME/gegl/-/commit/66de8124f496617eee8e6b5c68138a00343882db https://gitlab.gnome.org/GNOME/gegl/-/commit/298b6a2afb87b4b5b15c6e715967b57534cd0af0 As I mentioned above this doesn't fix tests for ffmpeg-6.x. Also for gegl-9999 now "223/252 gegl:composition / gegl" test is FAIL. I need to explorer where it was broken and report to upstream. |