Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 834369

Summary: dev-java/openjfx-11.0.11_p1 with ffmpeg-5.0: ../../../plugins/av/decoder.c:79:5: error: implicit declaration of function ‘avcodec_register_all’ [-Werror=implicit-function-declaration]
Product: Gentoo Linux Reporter: Kobboi <gentoo>
Component: Current packagesAssignee: Georgy Yakovlev <gyakovlev>
Status: RESOLVED FIXED    
Severity: normal CC: Christopher.Lundgren, flow, java, me, mgorny, toralf, ulm
Priority: Normal Keywords: PATCH, PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/33053
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 831437, 870412    
Attachments: build.log.gz
emerge-info.txt
drop openjfx ffmpeg with this patch

Description Kobboi 2022-02-28 17:21:31 UTC
Starting process 'command 'make''. Working directory: /var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1 Command: make -j5 -C /var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplu
gin CC=gcc LINKER=g++ OUTPUT_DIR=/var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux BUILD_TYPE=Release BASE_NAME=avplugin ARCH=x64
Successfully started process 'command 'make''
make: Entering directory '/var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin'
mkdir -p /var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av
gcc -fPIC -Wformat -Wextra -Wformat-security -fstack-protector -Werror=implicit-function-declaration -Werror=trampolines -fbuiltin -DHAVE_STDINT_H -DLINUX -DGST_DISABLE_LOADSAVE -DGSTREAMER_LITE -ffunction-sections -fdata-sections -O2 -march=znver3 -pipe -g -ggdb3 -Wn
o-error -fcommon -I../../../plugins -I../../../plugins/av -I../../../gstreamer-lite/gstreamer -I../../../gstreamer-lite/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread   -c ../../../plugins/av/fxavcodecplugin.c -o
 /var/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av/fxavcodecplugin.o
gcc -fPIC -Wformat -Wextra -Wformat-security -fstack-protector -Werror=implicit-function-declaration -Werror=trampolines -fbuiltin -DHAVE_STDINT_H -DLINUX -DGST_DISABLE_LOADSAVE -DGSTREAMER_LITE -ffunction-sections -fdata-sections -O2 -march=znver3 -pipe -g -ggdb3 -Wn
o-error -fcommon -I../../../plugins -I../../../plugins/av -I../../../gstreamer-lite/gstreamer -I../../../gstreamer-lite/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread   -c ../../../plugins/av/avelement.c -o /var/
tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av/avelement.o
gcc -fPIC -Wformat -Wextra -Wformat-security -fstack-protector -Werror=implicit-function-declaration -Werror=trampolines -fbuiltin -DHAVE_STDINT_H -DLINUX -DGST_DISABLE_LOADSAVE -DGSTREAMER_LITE -ffunction-sections -fdata-sections -O2 -march=znver3 -pipe -g -ggdb3 -Wn
o-error -fcommon -I../../../plugins -I../../../plugins/av -I../../../gstreamer-lite/gstreamer -I../../../gstreamer-lite/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread   -c ../../../plugins/av/decoder.c -o /var/tm
p/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av/decoder.o
gcc -fPIC -Wformat -Wextra -Wformat-security -fstack-protector -Werror=implicit-function-declaration -Werror=trampolines -fbuiltin -DHAVE_STDINT_H -DLINUX -DGST_DISABLE_LOADSAVE -DGSTREAMER_LITE -ffunction-sections -fdata-sections -O2 -march=znver3 -pipe -g -ggdb3 -Wn
o-error -fcommon -I../../../plugins -I../../../plugins/av -I../../../gstreamer-lite/gstreamer -I../../../gstreamer-lite/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread   -c ../../../plugins/av/audiodecoder.c -o /v
ar/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av/audiodecoder.o
gcc -fPIC -Wformat -Wextra -Wformat-security -fstack-protector -Werror=implicit-function-declaration -Werror=trampolines -fbuiltin -DHAVE_STDINT_H -DLINUX -DGST_DISABLE_LOADSAVE -DGSTREAMER_LITE -ffunction-sections -fdata-sections -O2 -march=znver3 -pipe -g -ggdb3 -Wn
o-error -fcommon -I../../../plugins -I../../../plugins/av -I../../../gstreamer-lite/gstreamer -I../../../gstreamer-lite/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread   -c ../../../plugins/av/videodecoder.c -o /v
ar/tmp/portage/dev-java/openjfx-11.0.11_p1/work/rt-11.0.11+1/modules/javafx.media/build/native/linux/Release/obj/plugins/avplugin/av/videodecoder.o
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from ../../../gstreamer-lite/gstreamer/gst/gst.h:27,
                 from ../../../plugins/av/avelement.h:29,
                 from ../../../plugins/av/avelement.c:26:
../../../plugins/av/avelement.c: In function ‘avelement_get_type’:
/usr/include/glib-2.0/glib/gatomic.h:113:5: warning: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Wincompatible-pointer-types]
  113 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
  260 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
../../../plugins/av/avelement.c:48:9: note: in expansion of macro ‘g_once_init_enter’
   48 |     if (g_once_init_enter (&gonce_data))
      |         ^~~~~~~~~~~~~~~~~
../../../plugins/av/avelement.c:54:16: warning: cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Wcast-function-type]
   54 |                (GClassInitFunc) avelement_class_intern_init,
      |                ^
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from ../../../gstreamer-lite/gstreamer/gst/gst.h:27,
                 from ../../../plugins/av/decoder.h:29,
                 from ../../../plugins/av/decoder.c:26:
../../../plugins/av/decoder.c: In function ‘basedecoder_get_type’:
../../../plugins/av/avelement.c:56:16: warning: cast between incompatible function types from ‘void (*)(AVElement *)’ {aka ‘void (*)(struct _AVElement *)’} to ‘void (*)(GTypeInstance *, void *)’ {aka ‘void (*)(struct _GTypeInstance *, void *)’} [-Wcast-function-type]
   56 |                (GInstanceInitFunc) avelement_init,
      |                ^
/usr/include/glib-2.0/glib/gatomic.h:113:5: warning: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Wincompatible-pointer-types]
  113 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
  260 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
../../../plugins/av/decoder.c:58:9: note: in expansion of macro ‘g_once_init_enter’
   48 |     if (g_once_init_enter (&gonce_data))
      |         ^~~~~~~~~~~~~~~~~
../../../plugins/av/avelement.c:54:16: warning: cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Wcast-function-type]
   54 |                (GClassInitFunc) avelement_class_intern_init,
      |                ^
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from ../../../gstreamer-lite/gstreamer/gst/gst.h:27,
                 from ../../../plugins/av/decoder.h:29,
                 from ../../../plugins/av/decoder.c:26:
../../../plugins/av/decoder.c: In function ‘basedecoder_get_type’:
../../../plugins/av/avelement.c:56:16: warning: cast between incompatible function types from ‘void (*)(AVElement *)’ {aka ‘void (*)(struct _AVElement *)’} to ‘void (*)(GTypeInstance *, void *)’ {aka ‘void (*)(struct _GTypeInstance *, void *)’} [-Wcast-function-type]
   56 |                (GInstanceInitFunc) avelement_init,
      |                ^
/usr/include/glib-2.0/glib/gatomic.h:113:5: warning: argument 2 of ‘__atomic_load’ discards ‘volatile’ qualifier [-Wincompatible-pointer-types]
  113 |     __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
      |     ^~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
  260 |     (!g_atomic_pointer_get (location) &&                             \
      |       ^~~~~~~~~~~~~~~~~~~~
../../../plugins/av/decoder.c:58:9: note: in expansion of macro ‘g_once_init_enter’
   58 |     if (g_once_init_enter (&gonce_data))
      |         ^~~~~~~~~~~~~~~~~
../../../plugins/av/decoder.c:64:16: warning: cast between incompatible function types from ‘void (*)(void *)’ to ‘void (*)(void *, void *)’ [-Wcast-function-type]
   64 |                (GClassInitFunc) basedecoder_class_intern_init,
      |                ^
../../../plugins/av/decoder.c:66:16: warning: cast between incompatible function types from ‘void (*)(BaseDecoder *)’ {aka ‘void (*)(struct _BaseDecoder *)’} to ‘void (*)(GTypeInstance *, void *)’ {aka ‘void (*)(struct _GTypeInstance *, void *)’} [-Wcast-function-type]
   66 |                (GInstanceInitFunc) basedecoder_init,
      |                ^
../../../plugins/av/fxavcodecplugin.c:53:1: warning: missing initializer for field ‘_gst_reserved’ of ‘GstPluginDesc’ {aka ‘struct _GstPluginDesc’} [-Wmissing-field-initializers]
   53 | };
      | ^
In file included from ../../../gstreamer-lite/gstreamer/gst/gstelementfactory.h:38,
                 from ../../../gstreamer-lite/gstreamer/gst/gstelement.h:90,
                 from ../../../gstreamer-lite/gstreamer/gst/gstbin.h:27,
                 from ../../../gstreamer-lite/gstreamer/gst/gst.h:35,
                 from ../../../plugins/av/fxavcodecplugin.c:26:
../../../gstreamer-lite/gstreamer/gst/gstplugin.h:184:12: note: ‘_gst_reserved’ declared here
  184 |   gpointer _gst_reserved[GST_PADDING];
      |            ^~~~~~~~~~~~~
../../../plugins/av/decoder.c: In function ‘basedecoder_class_init’:
../../../plugins/av/decoder.c:79:5: error: implicit declaration of function ‘avcodec_register_all’ [-Werror=implicit-function-declaration]
   79 |     avcodec_register_all();
      |     ^~~~~~~~~~~~~~~~~~~~
../../../plugins/av/decoder.c: In function ‘basedecoder_open_decoder’:
../../../plugins/av/decoder.c:112:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  112 |     decoder->codec = avcodec_find_decoder(id);




Reproducible: Always
Comment 1 Kobboi 2022-02-28 17:21:58 UTC
Created attachment 766001 [details]
build.log.gz
Comment 2 Kobboi 2022-02-28 17:22:02 UTC
Created attachment 766002 [details]
emerge-info.txt
Comment 3 Kobboi 2022-02-28 17:22:40 UTC
Compiles fine with ffmpeg-4.4.1
Comment 4 vowstar 2022-11-16 07:02:50 UTC
Created attachment 832879 [details, diff]
drop openjfx ffmpeg with this patch

Use patch from ubuntu/debian and drop openjfx ffmpeg fixed
https://salsa.debian.org/sramacher/openjfx/-/commit/d48d0c8f043fcae7eecdb1962646e2ce8d1b38d1#c952d271dc1e4db7580c2a2f7798655a9a8973b8
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2023-01-21 09:53:09 UTC
Ping.
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-15 06:24:57 UTC
ping
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-08-03 21:02:38 UTC
*** Bug 909082 has been marked as a duplicate of this bug. ***
Comment 8 Chris 2023-08-15 18:23:09 UTC
Error is still present with ffmpeg-6.0-r6. Patch works, though.
Comment 9 Larry the Git Cow gentoo-dev 2023-09-27 07:11:29 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ddbbca3c064b767d9dab6b63a6046537f8ebc01e

commit ddbbca3c064b767d9dab6b63a6046537f8ebc01e
Author:     Marco Genasci <fedeliallalinea@gmail.com>
AuthorDate: 2023-09-25 12:22:08 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2023-09-27 07:11:18 +0000

    dev-java/openjfx: drop ffmpeg dependency
    
    The openjfx package isn't compatible with >=media-video/ffmpeg-5.
    
    Closes: https://bugs.gentoo.org/834369
    Signed-off-by: Marco Genasci <fedeliallalinea@gmail.com>
    [Clean patch]
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 dev-java/openjfx/files/11/ffmpeg5.patch       |  17 ++
 dev-java/openjfx/openjfx-11.0.11_p1-r1.ebuild | 226 ++++++++++++++++++++++++++
 dev-java/openjfx/openjfx-11.0.9_p0-r1.ebuild  | 226 ++++++++++++++++++++++++++
 3 files changed, 469 insertions(+)