Bug#1095714: caveexpress FTBFS: SDLSoundEngine.cpp:34:23: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
Helmut Grohne
helmut at subdivi.de
Mon Feb 10 12:31:51 GMT 2025
Source: caveexpress
Version: 2.5.2-3
Severity: serious
Tags: ftbfs
caveexpress fails to build from source in unstable on amd64. A
non-parallel build log ends as follows:
| [ 20%] Building CXX object src/modules/sound/CMakeFiles/sound.dir/SDLSoundEngine.cpp.o
| cd /build/reproducible-path/caveexpress-2.5.2/obj-x86_64-linux-gnu/src/modules/sound && /usr/bin/c++ -DHAVE_LUA_H -DPKGDATADIR=\"/usr/share/games\" -I/build/reproducible-path/caveexpress-2.5.2/src/modules/physics -I/build/reproducible-path/caveexpress-2.5.2/obj-x86_64-linux-gnu -I/build/reproducible-path/caveexpress-2.5.2/src -I/build/reproducible-path/caveexpress-2.5.2/src/modules -I/usr/include/SDL2 -I/usr/include/lua5.4 -I/usr/include/box2d -I/usr/include/glm -g -O2 -ffile-prefix-map=/build/reproducible-path/caveexpress-2.5.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fno-exceptions -fno-rtti -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/caveexpress-2.5.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -g -Wcast-qual -Wcast-align -Wpointer-arith -Wno-long-long -Wno-multichar -Wshadow -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wreturn-type -Wwrite-strings -Wno-variadic-macros -Wno-unknown-pragmas -pthread -Wnon-virtual-dtor -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -std=c++11 -fno-exceptions -fno-rtti -DNDEBUG -O3 -DNDEBUG -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE -D_FORTIFY_SOURCE=2 -DNDEBUG -fexpensive-optimizations -fomit-frame-pointer -O3 -std=c++11 -fPIC -MD -MT src/modules/sound/CMakeFiles/sound.dir/SDLSoundEngine.cpp.o -MF CMakeFiles/sound.dir/SDLSoundEngine.cpp.o.d -o CMakeFiles/sound.dir/SDLSoundEngine.cpp.o -c /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp
| cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp: In destructor ‘virtual SDLSoundEngine::~SDLSoundEngine()’:
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:34:23: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
| 34 | Mix_FreeMusic(_music);
| | ^~~~~~
| | |
| | _Mix_Music*
| In file included from /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:11:
| /usr/include/SDL2/SDL_mixer.h:844:55: note: initializing argument 1 of ‘void Mix_FreeMusic(Mix_Music*)’
| 844 | extern DECLSPEC void SDLCALL Mix_FreeMusic(Mix_Music *music);
| | ~~~~~~~~~~~^~~~~
| In file included from /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:1:
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.h:8:8: note: class type ‘_Mix_Music’ is incomplete
| 8 | struct _Mix_Music;
| | ^~~~~~~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp: In member function ‘virtual void SDLSoundEngine::close()’:
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:116:23: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
| 116 | Mix_FreeMusic(_music);
| | ^~~~~~
| | |
| | _Mix_Music*
| /usr/include/SDL2/SDL_mixer.h:844:55: note: initializing argument 1 of ‘void Mix_FreeMusic(Mix_Music*)’
| 844 | extern DECLSPEC void SDLCALL Mix_FreeMusic(Mix_Music *music);
| | ~~~~~~~~~~~^~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.h:8:8: note: class type ‘_Mix_Music’ is incomplete
| 8 | struct _Mix_Music;
| | ^~~~~~~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp: In member function ‘virtual int SDLSoundEngine::playMusic(const std::string&, bool)’:
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:149:23: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
| 149 | Mix_FreeMusic(_music);
| | ^~~~~~
| | |
| | _Mix_Music*
| /usr/include/SDL2/SDL_mixer.h:844:55: note: initializing argument 1 of ‘void Mix_FreeMusic(Mix_Music*)’
| 844 | extern DECLSPEC void SDLCALL Mix_FreeMusic(Mix_Music *music);
| | ~~~~~~~~~~~^~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.h:8:8: note: class type ‘_Mix_Music’ is incomplete
| 8 | struct _Mix_Music;
| | ^~~~~~~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:158:32: error: cannot convert ‘Mix_Music*’ to ‘_Mix_Music*’ in assignment
| 158 | _music = Mix_LoadMUS_RW(rwops, 1);
| | ~~~~~~~~~~~~~~^~~~~~~~~~
| | |
| | Mix_Music*
| /usr/include/SDL2/SDL_mixer.h:269:16: note: class type ‘Mix_Music’ is incomplete
| 269 | typedef struct Mix_Music Mix_Music;
| | ^~~~~~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:167:39: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
| 167 | const int ret = Mix_PlayMusic(_music, loop ? -1 : 1);
| | ^~~~~~
| | |
| | _Mix_Music*
| /usr/include/SDL2/SDL_mixer.h:1834:54: note: initializing argument 1 of ‘int Mix_PlayMusic(Mix_Music*, int)’
| 1834 | extern DECLSPEC int SDLCALL Mix_PlayMusic(Mix_Music *music, int loops);
| | ~~~~~~~~~~~^~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.h:8:8: note: class type ‘_Mix_Music’ is incomplete
| 8 | struct _Mix_Music;
| | ^~~~~~~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp: In member function ‘virtual void SDLSoundEngine::haltMusic(int)’:
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.cpp:185:23: error: cannot convert ‘_Mix_Music*’ to ‘Mix_Music*’
| 185 | Mix_FreeMusic(_music);
| | ^~~~~~
| | |
| | _Mix_Music*
| /usr/include/SDL2/SDL_mixer.h:844:55: note: initializing argument 1 of ‘void Mix_FreeMusic(Mix_Music*)’
| 844 | extern DECLSPEC void SDLCALL Mix_FreeMusic(Mix_Music *music);
| | ~~~~~~~~~~~^~~~~
| /build/reproducible-path/caveexpress-2.5.2/src/modules/sound/SDLSoundEngine.h:8:8: note: class type ‘_Mix_Music’ is incomplete
| 8 | struct _Mix_Music;
| | ^~~~~~~~~~
| make[3]: *** [src/modules/sound/CMakeFiles/sound.dir/build.make:96: src/modules/sound/CMakeFiles/sound.dir/SDLSoundEngine.cpp.o] Error 1
| make[3]: Leaving directory '/build/reproducible-path/caveexpress-2.5.2/obj-x86_64-linux-gnu'
| make[2]: *** [CMakeFiles/Makefile2:815: src/modules/sound/CMakeFiles/sound.dir/all] Error 2
| make[2]: Leaving directory '/build/reproducible-path/caveexpress-2.5.2/obj-x86_64-linux-gnu'
| make[1]: *** [Makefile:159: all] Error 2
| make[1]: Leaving directory '/build/reproducible-path/caveexpress-2.5.2/obj-x86_64-linux-gnu'
| dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j1 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
| make: *** [debian/rules:6: binary] Error 25
| dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Helmut
More information about the Pkg-games-devel
mailing list