Solarus 1.1 build fails with clang.
Created by: ibara
Solarus 1.1 fails to build with clang. It appears to be related to the the commit to deal with Issue #250 (closed). Relevant log line below.
Fixing it would be nice, as it would also allow OpenBSD to go back to using our built-in compiler (gcc-4.2.1) instead of gcc-4.6, which is what I'm currently using to build Solarus (gcc-4.6 works fine).
We're using libmodplug-0.8.8.4, if that helps any.
[11/158] /usr/ports/pobj/solarus-1.1.0/bin/c++ -DSOLARUS_COLOR_DEPTH=32 -DSOLARUS_DEFAULT_QUEST="." -DSOLARUS_DEFAULT_QUEST_HEIGHT=240 -DSOLARUS_DEFAULT_QUEST_WIDTH=320 -DSOLARUS_SCREEN_DOUBLEBUF -DSOLARUS_SCREEN_FORCE_MODE=-1 -DSOLARUS_WRITE_DIR=".solarus" -O2 -pipe -Wno-error -Wno-all -Wno-unknown-pragmas -Wno-fatal-errors -Wno-extra -DNDEBUG -Iinclude -I/usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/include -I/usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/include/snes_spc -I/usr/local/include/SDL -I/usr/local/include -I/usr/local/include/AL -I/usr/local/include/vorbis -I/usr/local/include/ogg -I/usr/local/include/libmodplug -I/usr/local/include/lua-5.1 -MMD -MT CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o -MF "CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o.d" -o CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o -c /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp FAILED: /usr/ports/pobj/solarus-1.1.0/bin/c++ -DSOLARUS_COLOR_DEPTH=32 -DSOLARUS_DEFAULT_QUEST="." -DSOLARUS_DEFAULT_QUEST_HEIGHT=240 -DSOLARUS_DEFAULT_QUEST_WIDTH=320 -DSOLARUS_SCREEN_DOUBLEBUF -DSOLARUS_SCREEN_FORCE_MODE=-1 -DSOLARUS_WRITE_DIR=".solarus" -O2 -pipe -Wno-error -Wno-all -Wno-unknown-pragmas -Wno-fatal-errors -Wno-extra -DNDEBUG -Iinclude -I/usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/include -I/usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/include/snes_spc -I/usr/local/include/SDL -I/usr/local/include -I/usr/local/include/AL -I/usr/local/include/vorbis -I/usr/local/include/ogg -I/usr/local/include/libmodplug -I/usr/local/include/lua-5.1 -MMD -MT CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o -MF "CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o.d" -o CMakeFiles/solarus_static.dir/src/lowlevel/ItDecoder.cpp.o -c /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp:132:27: error: unknown type name 'CSoundFile' return reinterpret_cast<CSoundFile>(modplug_file)->GetMusicTempo(); ^ /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp:132:53: error: member access into incomplete type 'ModPlugFile' (aka '_ModPlugFile') return reinterpret_cast<CSoundFile>(modplug_file)->GetMusicTempo(); ^ /usr/local/include/libmodplug/modplug.h:14:8: note: forward declaration of '_ModPlugFile' struct _ModPlugFile; ^ /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp:141:20: error: unknown type name 'CSoundFile' reinterpret_cast<CSoundFile>(modplug_file)->SetTempo(tempo); ^ /usr/ports/pobj/solarus-1.1.0/solarus-1.1.0/src/lowlevel/ItDecoder.cpp:141:46: error: member access into incomplete type 'ModPlugFile' (aka '_ModPlugFile') reinterpret_cast<CSoundFile>(modplug_file)->SetTempo(tempo); ^ /usr/local/include/libmodplug/modplug.h:14:8: note: forward declaration of '_ModPlugFile' struct _ModPlugFile; ^ 4 errors generated. ninja: build stopped: subcommand failed. *** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:31 'do-build': @cd /usr/ports/pobj/solarus-1.1.0/build-amd64 && exec /usr/bin/env -i ...) *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2650 '/usr/ports/pobj/solarus-1.1.0/build-amd64/.build_done') *** Error 1 in /usr/ports/games/solarus/solarus (/usr/ports/infrastructure/mk/bsd.port.mk:2383 'build')