Source: warzone2100 Version: 4.2.7 Severity: normal Tags: ftbfs, patch User: debian-ri...@lists.debian.org Usertags: riscv64
Dear Maintainer, The warzone2100 has a ftbfs issue: ``` FAILED: src/warzone2100 : && /usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fstack-protector-strong -fstack-clash-protection -O2 -g -DNDEBUG -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now src/CMakeFiles/warzone2100.dir/3rdparty/physfs_memoryio.cpp.o src/CMakeFiles/warzone2100.dir/3rdparty/propertymatcher.cpp.o src/CMakeFiles/warzone2100.dir/action.cpp.o src/CMakeFiles/warzone2100.dir/activity.cpp.o src/CMakeFiles/warzone2100.dir/advvis.cpp.o src/CMakeFiles/warzone2100.dir/ai.cpp.o src/CMakeFiles/warzone2100.dir/animation.cpp.o src/CMakeFiles/warzone2100.dir/astar.cpp.o src/CMakeFiles/warzone2100.dir/atmos.cpp.o src/CMakeFiles/warzone2100.dir/aud.cpp.o src/CMakeFiles/warzone2100.dir/baseobject.cpp.o src/CMakeFiles/warzone2100.dir/bucket3d.cpp.o src/CMakeFiles/warzone2100.dir/challenge.cpp.o src/CMakeFiles/warzone2100.dir/chat.cpp.o src/CMakeFiles/warzone2100.dir/cheat.cpp.o src/CMakeFiles/warzone2100.dir/clparse.cpp.o src/CMakeFiles/warzone2100.dir/cmddroid.cpp.o src/CMakeFiles/warzone2100.dir/combat.cpp.o src/CMakeFiles/warzone2100.dir/component.cpp.o src/CMakeFiles/warzone2100.dir/configuration.cpp.o src/CMakeFiles/warzone2100.dir/console.cpp.o src/CMakeFiles/warzone2100.dir/data.cpp.o src/CMakeFiles/warzone2100.dir/design.cpp.o src/CMakeFiles/warzone2100.dir/difficulty.cpp.o src/CMakeFiles/warzone2100.dir/display.cpp.o src/CMakeFiles/warzone2100.dir/display3d.cpp.o src/CMakeFiles/warzone2100.dir/droid.cpp.o src/CMakeFiles/warzone2100.dir/edit3d.cpp.o src/CMakeFiles/warzone2100.dir/effects.cpp.o src/CMakeFiles/warzone2100.dir/faction.cpp.o src/CMakeFiles/warzone2100.dir/feature.cpp.o src/CMakeFiles/warzone2100.dir/fpath.cpp.o src/CMakeFiles/warzone2100.dir/frontend.cpp.o src/CMakeFiles/warzone2100.dir/game.cpp.o src/CMakeFiles/warzone2100.dir/gateway.cpp.o src/CMakeFiles/warzone2100.dir/geometry.cpp.o src/CMakeFiles/warzone2100.dir/group.cpp.o src/CMakeFiles/warzone2100.dir/hci.cpp.o src/CMakeFiles/warzone2100.dir/hci/build.cpp.o src/CMakeFiles/warzone2100.dir/hci/commander.cpp.o src/CMakeFiles/warzone2100.dir/hci/manufacture.cpp.o src/CMakeFiles/warzone2100.dir/hci/objects_stats.cpp.o src/CMakeFiles/warzone2100.dir/hci/research.cpp.o src/CMakeFiles/warzone2100.dir/ingameop.cpp.o src/CMakeFiles/warzone2100.dir/init.cpp.o src/CMakeFiles/warzone2100.dir/input/context.cpp.o src/CMakeFiles/warzone2100.dir/input/debugmappings.cpp.o src/CMakeFiles/warzone2100.dir/input/keyconfig.cpp.o src/CMakeFiles/warzone2100.dir/input/manager.cpp.o src/CMakeFiles/warzone2100.dir/input/mapping.cpp.o src/CMakeFiles/warzone2100.dir/intdisplay.cpp.o src/CMakeFiles/warzone2100.dir/intelmap.cpp.o src/CMakeFiles/warzone2100.dir/intimage.cpp.o src/CMakeFiles/warzone2100.dir/intorder.cpp.o src/CMakeFiles/warzone2100.dir/keybind.cpp.o src/CMakeFiles/warzone2100.dir/keyedit.cpp.o src/CMakeFiles/warzone2100.dir/level_lexer.cpp.o src/CMakeFiles/warzone2100.dir/levels.cpp.o src/CMakeFiles/warzone2100.dir/lighting.cpp.o src/CMakeFiles/warzone2100.dir/loadsave.cpp.o src/CMakeFiles/warzone2100.dir/loop.cpp.o src/CMakeFiles/warzone2100.dir/main.cpp.o src/CMakeFiles/warzone2100.dir/map.cpp.o src/CMakeFiles/warzone2100.dir/mapdisplay.cpp.o src/CMakeFiles/warzone2100.dir/mapgrid.cpp.o src/CMakeFiles/warzone2100.dir/mechanics.cpp.o src/CMakeFiles/warzone2100.dir/message.cpp.o src/CMakeFiles/warzone2100.dir/miscimd.cpp.o src/CMakeFiles/warzone2100.dir/mission.cpp.o src/CMakeFiles/warzone2100.dir/modding.cpp.o src/CMakeFiles/warzone2100.dir/move.cpp.o src/CMakeFiles/warzone2100.dir/multibot.cpp.o src/CMakeFiles/warzone2100.dir/multigifts.cpp.o src/CMakeFiles/warzone2100.dir/multiint.cpp.o src/CMakeFiles/warzone2100.dir/multijoin.cpp.o src/CMakeFiles/warzone2100.dir/multilimit.cpp.o src/CMakeFiles/warzone2100.dir/multilobbycommands.cpp.o src/CMakeFiles/warzone2100.dir/multimenu.cpp.o src/CMakeFiles/warzone2100.dir/multiopt.cpp.o src/CMakeFiles/warzone2100.dir/multiplay.cpp.o src/CMakeFiles/warzone2100.dir/multistat.cpp.o src/CMakeFiles/warzone2100.dir/multistruct.cpp.o src/CMakeFiles/warzone2100.dir/multisync.cpp.o src/CMakeFiles/warzone2100.dir/musicmanager.cpp.o src/CMakeFiles/warzone2100.dir/nethelpers.cpp.o src/CMakeFiles/warzone2100.dir/notifications.cpp.o src/CMakeFiles/warzone2100.dir/objects.cpp.o src/CMakeFiles/warzone2100.dir/objmem.cpp.o src/CMakeFiles/warzone2100.dir/oprint.cpp.o src/CMakeFiles/warzone2100.dir/order.cpp.o src/CMakeFiles/warzone2100.dir/pointtree.cpp.o src/CMakeFiles/warzone2100.dir/power.cpp.o src/CMakeFiles/warzone2100.dir/projectile.cpp.o src/CMakeFiles/warzone2100.dir/qtscript.cpp.o src/CMakeFiles/warzone2100.dir/quickjs_backend.cpp.o src/CMakeFiles/warzone2100.dir/radar.cpp.o src/CMakeFiles/warzone2100.dir/random.cpp.o src/CMakeFiles/warzone2100.dir/raycast.cpp.o src/CMakeFiles/warzone2100.dir/research.cpp.o src/CMakeFiles/warzone2100.dir/scores.cpp.o src/CMakeFiles/warzone2100.dir/selection.cpp.o src/CMakeFiles/warzone2100.dir/seqdisp.cpp.o src/CMakeFiles/warzone2100.dir/spectatorwidgets.cpp.o src/CMakeFiles/warzone2100.dir/stats.cpp.o src/CMakeFiles/warzone2100.dir/stdinreader.cpp.o src/CMakeFiles/warzone2100.dir/structure.cpp.o src/CMakeFiles/warzone2100.dir/template.cpp.o src/CMakeFiles/warzone2100.dir/terrain.cpp.o src/CMakeFiles/warzone2100.dir/text.cpp.o src/CMakeFiles/warzone2100.dir/texture.cpp.o src/CMakeFiles/warzone2100.dir/titleui/gamefind.cpp.o src/CMakeFiles/warzone2100.dir/titleui/msgbox.cpp.o src/CMakeFiles/warzone2100.dir/titleui/old.cpp.o src/CMakeFiles/warzone2100.dir/titleui/passbox.cpp.o src/CMakeFiles/warzone2100.dir/titleui/protocol.cpp.o src/CMakeFiles/warzone2100.dir/titleui/titleui.cpp.o src/CMakeFiles/warzone2100.dir/transporter.cpp.o src/CMakeFiles/warzone2100.dir/updatemanager.cpp.o src/CMakeFiles/warzone2100.dir/urlhelpers.cpp.o src/CMakeFiles/warzone2100.dir/urlrequest.cpp.o src/CMakeFiles/warzone2100.dir/version.cpp.o src/CMakeFiles/warzone2100.dir/visibility.cpp.o src/CMakeFiles/warzone2100.dir/warcam.cpp.o src/CMakeFiles/warzone2100.dir/warzoneconfig.cpp.o src/CMakeFiles/warzone2100.dir/wavecast.cpp.o src/CMakeFiles/warzone2100.dir/wrappers.cpp.o src/CMakeFiles/warzone2100.dir/wzapi.cpp.o src/CMakeFiles/warzone2100.dir/wzcrashhandlingproviders.cpp.o src/CMakeFiles/warzone2100.dir/wzpropertyproviders.cpp.o src/CMakeFiles/warzone2100.dir/wzscriptdebug.cpp.o src/CMakeFiles/warzone2100.dir/integrations/wzdiscordrpc.cpp.o -o src/warzone2100 lib/exceptionhandler/libexception-handler.a lib/gamelib/libgamelib.a lib/wzmaplib/libwzmaplib.a lib/ivis_opengl/libivis-opengl.a lib/netplay/libnetplay.a lib/sdl/libsdl-backend.a lib/framework/libframework.a lib/sequence/libsequence.a lib/sound/libsound.a lib/widget/libwidget.a 3rdparty/launchinfo/liblaunchinfo.a 3rdparty/EmbeddedJSONSignature/libEmbeddedJSONSignature.a 3rdparty/fmt/libfmt.a 3rdparty/quickjs/libquickjs.a /usr/lib/riscv64-linux-gnu/libcurl.so 3rdparty/re2/libre2.a /usr/lib/riscv64-linux-gnu/libsqlite3.so 3rdparty/SQLiteCpp/libSQLiteCpp.a 3rdparty/discord-rpc/src/libdiscord-rpc.a /usr/lib/riscv64-linux-gnu/libminiupnpc.so /usr/lib/riscv64-linux-gnu/libz.so /usr/lib/riscv64-linux-gnu/libSDL2.so /usr/lib/riscv64-linux-gnu/libSDL2main.a /usr/lib/riscv64-linux-gnu/libtheoradec.so /usr/lib/riscv64-linux-gnu/libogg.so /usr/lib/riscv64-linux-gnu/libvorbis.so /usr/lib/riscv64-linux-gnu/libvorbisfile.so /usr/lib/riscv64-linux-gnu/libopenal.so lib/ivis_opengl/libivis-opengl.a /usr/lib/riscv64-linux-gnu/libpng.so /usr/lib/riscv64-linux-gnu/libz.so /usr/lib/riscv64-linux-gnu/libharfbuzz.so /usr/lib/riscv64-linux-gnu/libfreetype.so 3rdparty/libglad.a lib/framework/libframework.a /usr/lib/riscv64-linux-gnu/libphysfs.so /usr/lib/riscv64-linux-gnu/libsodium.so 3rdparty/utf8proc/libutf8proc.a /usr/lib/riscv64-linux-gnu/libsodium.so -lpthread /usr/lib/riscv64-linux-gnu/libsqlite3.so -ldl -lpthread && : /usr/bin/ld: 3rdparty/discord-rpc/src/libdiscord-rpc.a(discord_rpc.cpp.o): in function `.L0 ': ./debian/build/./3rdparty/discord-rpc/src/discord_rpc.cpp:357: undefined reference to `__atomic_exchange_1' /usr/bin/ld: 3rdparty/discord-rpc/src/libdiscord-rpc.a(discord_rpc.cpp.o): in function `Discord_Shutdown': ./debian/build/./3rdparty/discord-rpc/src/discord_rpc.cpp:358: undefined reference to `__atomic_exchange_1' /usr/bin/ld: 3rdparty/discord-rpc/src/libdiscord-rpc.a(discord_rpc.cpp.o): in function `IoThreadHolder::Notify()': ./debian/build/./3rdparty/discord-rpc/src/discord_rpc.cpp:102: undefined reference to `__atomic_exchange_1' /usr/bin/ld: 3rdparty/discord-rpc/src/libdiscord-rpc.a(discord_rpc.cpp.o): in function `.L0 ': ./debian/build/./3rdparty/discord-rpc/src/discord_rpc.cpp:373: undefined reference to `__atomic_exchange_1' /usr/bin/ld: ./debian/build/./3rdparty/discord-rpc/src/discord_rpc.cpp:401: undefined reference to `__atomic_exchange_1' /usr/bin/ld: 3rdparty/discord-rpc/src/libdiscord-rpc.a(discord_rpc.cpp.o):/usr/include/c++/11/bits/atomic_base.h:499: more undefined references to `__atomic_exchange_1' follow collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. make[1]: *** [debian/rules:21: override_dh_auto_build] Error 1 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:8: build-arch] Error 2 dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2 ``` The full buildd log is here: https://buildd.debian.org/status/fetch.php?pkg=warzone2100&arch=riscv64&ver=4.2.7-1&stamp=1651923447&raw=0 The patch attached is to fix the issue: ``` Build Architecture: riscv64 Build Type: binary Build-Space: 3012284 Build-Time: 3435 Distribution: unstable Host Architecture: riscv64 Install-Time: 183 Job: /home/vimer/05/25_warzone2100/warzone2100_4.2.7-1.dsc Lintian: warn Machine Architecture: riscv64 Package: warzone2100 Package-Time: 3794 Source-Version: 4.2.7-1 Space: 3012284 Status: successful Version: 4.2.7-1 -------------------------------------------------------------------------------- Finished at 2022-05-19T09:13:28Z Build needed 01:03:14, 3012284k disk space ``` Please consider apply it in next upload, thank you. BR, Bo
fix ftbfs on riscv64 arch Bo YU <stu.y...@gmail.com> --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -657,6 +657,7 @@ SET(_ALL_SOURCE 1) SET(_GNU_SOURCE 1) SET(_POSIX_PTHREAD_SEMANTICS 1) +SET(THREADS_PREFER_PTHREAD_FLAG ON) SET(_TANDEM_SOURCE 1) if(CMAKE_SYSTEM_NAME MATCHES "SunOS") # Solaris / SunOS SET(__EXTENSIONS__ 1)