Bug#1072443: openmw: FTBFS with ffmpeg 7.0: videostate.cpp:730:44: error: invalid conversion from ‘int (*)(void*, uint8_t*, int) ’ {aka ‘int (*)(void*, unsigned char*, int) ’} to ‘int (*)(void*, const uint8_t*, int) ’ {aka ‘int (*)(void*, const unsigned char*, int) ’} [-fpermissive]
Sebastian Ramacher
sramacher at debian.org
Sun Jun 2 14:24:00 BST 2024
Source: openmw
Version: 0.48.0-1
Severity: important
Tags: trixie sid ftbfs
Usertags: ffmpeg-7.0
Hi,
during a rebuild of the reverse dependencies for the transition to
ffmpeg 7.0, your package failed to build
Relevant part (hopefully):
> cd /<<PKGBUILDDIR>>/build/extern/osg-ffmpeg-videoplayer && /usr/bin/c++ -DBOOST_NO_CXX11_SCOPED_ENUMS=ON -DMYGUI_DONT_REPLACE_NULLPTR -DTIXML_USE_STL -D__STDC_CONSTANT_MACROS -isystem /<<PKGBUILDDIR>>/extern/sol_config -isystem /<<PKGBUILDDIR>>/extern/sol3 -isystem /usr/include/luajit-2.1 -isystem /usr/include/bullet -isystem /usr/include/AL -isystem /usr/include/MYGUI -isystem /usr/include/SDL2 -isystem /<<PKGBUILDDIR>>/. -Wall -Wextra -Wundef -Wno-unused-parameter -pedantic -Wno-long-long -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-unused-but-set-parameter -O2 -g -DNDEBUG -std=gnu++20 -MD -MT extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videostate.cpp.o -MF CMakeFiles/osg-ffmpeg-videoplayer.dir/videostate.cpp.o.d -o CMakeFiles/osg-ffmpeg-videoplayer.dir/videostate.cpp.o -c /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.cpp
> In file included from /usr/include/osg/State:33,
> from /usr/include/osg/GraphicsContext:17,
> from /usr/include/osg/Texture:20,
> from /usr/include/osg/Texture2D:17,
> from /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.cpp:11:
> /usr/include/osg/GraphicsCostEstimator: In member function ‘osg::CostPair osg::GraphicsCostEstimator::estimateCompileCost(const osg::Geometry*) const’:
> /usr/include/osg/GraphicsCostEstimator:118:71: note: parameter passing for argument of type ‘std::pair<double, double>’ when C++17 is enabled changed to match C++14 in GCC 10.1
> 118 | CostPair estimateCompileCost(const osg::Geometry* geometry) const { return _geometryEstimator->estimateCompileCost(geometry); }
> | ^
> /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.cpp: In member function ‘void Video::VideoState::init(std::unique_ptr<std::basic_istream<char> >&&, const std::string&)’:
> /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.cpp:730:44: error: invalid conversion from ‘int (*)(void*, uint8_t*, int)’ {aka ‘int (*)(void*, unsigned char*, int)’} to ‘int (*)(void*, const uint8_t*, int)’ {aka ‘int (*)(void*, const unsigned char*, int)’} [-fpermissive]
> 730 | AVIOContext *ioCtx = avio_alloc_context(nullptr, 0, 0, this, istream_read, istream_write, istream_seek);
> | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | int (*)(void*, uint8_t*, int) {aka int (*)(void*, unsigned char*, int)}
> In file included from /usr/include/aarch64-linux-gnu/libavformat/avformat.h:319,
> from /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.hpp:27,
> from /<<PKGBUILDDIR>>/extern/osg-ffmpeg-videoplayer/videostate.cpp:1:
> /usr/include/aarch64-linux-gnu/libavformat/avio.h:404:25: note: initializing argument 6 of ‘AVIOContext* avio_alloc_context(unsigned char*, int, int, void*, int (*)(void*, uint8_t*, int), int (*)(void*, const uint8_t*, int), int64_t (*)(void*, int64_t, int))’
> 404 | int (*write_packet)(void *opaque, const uint8_t *buf, int buf_size),
> | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> make[3]: *** [extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/build.make:90: extern/osg-ffmpeg-videoplayer/CMakeFiles/osg-ffmpeg-videoplayer.dir/videostate.cpp.o] Error 1
The full build log is available from:
https://people.debian.org/~sramacher/ffmpeg-7.0/openmw_arm64.build
ffmpeg 7.0 is available in experimental.
Cheers
--
Sebastian Ramacher
More information about the Pkg-games-devel
mailing list