Re: Build failure

Gilles Caulier <[email protected]> Sun, 3 Aug 2025 11:18:21 +0200
Newsgroups gmane.comp.kde.digikam.devel
Message-ID <CAHFG6sEBTZMWQA7CcusDwV-52qaQRVidx7e3ePd==BEL++DsaA@mail.gmail.com>
Hi,

The problem must be the ffmpeg API. Which ffmpeg version did you use
on your system ?

Here all compile fine with the 6.x and the last 7.x.

https://ffmpeg.org/download.html

Please also report the ffmpeg libraries version returned by cmake at
configuration time. Typically, you must saw something like that:

-- Use PkgConfig to check FFMPEG AVCODEC availability...
-- Checking for module 'libavcodec'
--   Found libavcodec, version 60.31.102
-- Use PkgConfig to check FFMPEG AVFILTER availability...
-- Checking for module 'libavfilter'
--   Found libavfilter, version 9.12.100
-- Use PkgConfig to check FFMPEG AVFORMAT availability...
-- Checking for module 'libavformat'
--   Found libavformat, version 60.16.100
-- Use PkgConfig to check FFMPEG AVDEVICE availability...
-- Checking for module 'libavdevice'
--   Found libavdevice, version 60.3.100
-- Use PkgConfig to check FFMPEG AVUTIL availability...
-- Checking for module 'libavutil'
--   Found libavutil, version 58.29.100
-- Use PkgConfig to check FFMPEG SWSCALE availability...
-- Checking for module 'libswscale'
--   Found libswscale, version 7.5.100
-- Use PkgConfig to check FFMPEG POSTPROC availability...
-- Checking for module 'libpostproc'
--   Found libpostproc, version 57.3.100
-- Use PkgConfig to check FFMPEG AVRESAMPLE availability...
-- Checking for module 'libavresample'
--   Package 'libavresample', required by 'virtual:world', not found
-- Use PkgConfig to check FFMPEG SWRESAMPLE availability...
-- Checking for module 'libswresample'
--   Found libswresample, version 4.12.100
-- Found FFmpeg:
/usr/lib/aarch64-linux-gnu/libavcodec.so;/usr/lib/aarch64-linux-gnu/libavde=
vice.so;/usr/lib/aarch64-linux-gnu/libavfilter.so;/usr/lib/aarch64-linux-gn=
u/libavformat.so;/usr/lib/aarch64-linux-gnu/libavutil.so;/usr/lib/aarch64-l=
inux-gnu/libswscale.so;/usr/lib/aarch64-linux-gnu/libswresample.so
-- FFMPEG_FOUND        =3D TRUE
-- FFMPEG_INCLUDE_DIRS =3D /usr/include/aarch64-linux-gnu
-- FFMPEG_LIBRARIES    =3D
/usr/lib/aarch64-linux-gnu/libavcodec.so;/usr/lib/aarch64-linux-gnu/libavde=
vice.so;/usr/lib/aarch64-linux-gnu/libavfilter.so;/usr/lib/aarch64-linux-gn=
u/libavformat.so;/usr/lib/aarch64-linux-gnu/libavutil.so;/usr/lib/aarch64-l=
inux-gnu/libswscale.so;/usr/lib/aarch64-linux-gnu/libswresample.so
-- FFMPEG_DEFINITIONS  =3D
-- Could NOT find FFmpeg (missing: AVRESAMPLE_LIBRARIES AVRESAMPLE_INCLUDE_=
DIRS)
-- FFMPEG_FOUND        =3D FALSE
-- FFMPEG_INCLUDE_DIRS =3D /usr/include/aarch64-linux-gnu
-- FFMPEG_LIBRARIES    =3D
/usr/lib/aarch64-linux-gnu/libavcodec.so;/usr/lib/aarch64-linux-gnu/libavde=
vice.so;/usr/lib/aarch64-linux-gnu/libavfilter.so;/usr/lib/aarch64-linux-gn=
u/libavformat.so;/usr/lib/aarch64-linux-gnu/libavutil.so;/usr/lib/aarch64-l=
inux-gnu/libswscale.so;/usr/lib/aarch64-linux-gnu/libswresample.so
-- FFMPEG_DEFINITIONS  =3D
-- FFMpeg AVCodec    (required) : TRUE (60.31.102)
-- FFMpeg AVDevice   (required) : TRUE (60.3.100)
-- FFMpeg AVFilter   (required) : TRUE (9.12.100)
-- FFMpeg AVFormat   (required) : TRUE (60.16.100)
-- FFMpeg AVUtil     (required) : TRUE (58.29.100)
-- FFMpeg SWScale    (required) : TRUE (7.5.100)
-- FFMpeg SWResample (required) : TRUE (4.12.100)
-- FFMpeg AVResample (optional) : FALSE ()
-- FFmpeg support is enabled : yes
-- FFMpeg >=3D 5 API           : yes
-- MediaPlayer type:     Qt6::Multimedia

Best regards

Gilles Caulier

Le dim. 3 ao=C3=BBt 2025 =C3=A0 11:01, Andrew Goodbody <[email protected]=
.uk> a =C3=A9crit :
>
> Any idea what might be causing this build failure?
>
> [ 10%] Building CXX object
> core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/video/video=
thumbdecoder_p.cpp.o
> /home/ag/src/dk6/core/libs/threadimageio/video/videothumbdecoder_p.cpp:
> In member function =E2=80=98bool
> Digikam::VideoThumbDecoder::Private::processFilterGraph(AVFrame*, const
> AVFrame*, AVPixelFormat, int, int)=E2=80=99:
> /home/ag/src/dk6/core/libs/threadimageio/video/videothumbdecoder_p.cpp:29=
5:45:
> error: invalid conversion from =E2=80=98uint8_t**=E2=80=99 {aka =E2=80=98=
unsigned char**=E2=80=99} to
> =E2=80=98const uint8_t**=E2=80=99 {aka =E2=80=98const unsigned char**=E2=
=80=99} [-fpermissive]
>    295 |     av_image_copy(dst->data, dst->linesize,
> reinterpret_cast<uint8_t**>(filterFrame->data), filterFrame->linesize,
> pixfmt, width, height);
>        |
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>        |                                             |
>        |                                             uint8_t** {aka
> unsigned char**}
> In file included from
> /home/ag/src/dk6/core/libs/threadimageio/video/videothumbdecoder_p.h:27,
>                   from
> /home/ag/src/dk6/core/libs/threadimageio/video/videothumbdecoder_p.cpp:17=
:
> /usr/include/x86_64-linux-gnu/libavutil/imgutils.h:154:35: note:
> initializing argument 3 of =E2=80=98void av_image_copy(uint8_t**, int*, c=
onst
> uint8_t**, const int*, AVPixelFormat, int, int)=E2=80=99
>    154 |                    const uint8_t *src_data[4], const int
> src_linesizes[4],
>        |                    ~~~~~~~~~~~~~~~^~~~~~~~~~~
> make[2]: ***
> [core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/build.make=
:426:
> core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/video/video=
thumbdecoder_p.cpp.o]
> Error 1
> make[1]: *** [CMakeFiles/Makefile2:8861:
> core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/all] Error =
2
> make: *** [Makefile:146: all] Error 2
>
>
> $ gcc --version
> gcc (Debian 12.2.0-14+deb12u1) 12.2.0
>
>
> Thanks,
> Andrew