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