Bug#1123883: ddnet: FTBFS in unstable: undefined reference to `cxxbridge1$RustVersionRegister'
Simon McVittie
smcv at debian.org
Tue Dec 23 14:23:22 GMT 2025
Source: ddnet
Version: 19.1-2
Severity: serious
Tags: ftbfs forky sid
Justification: fails to build from source (but built successfully in the past)
While testing whether packages in unstable can be rebuilt successfully
against sdl2-compat/experimental, I encountered a build failure in ddnet
which can also be reproduced using only packages from unstable.
(The link line quoted below has been wrapped for readability)
>[100%] Linking CXX executable DDNet
>/usr/bin/cmake -E cmake_link_script CMakeFiles/game-client.dir/link.txt --verbose=1
>/usr/bin/c++ -g -O2
>-ffile-prefix-map=/build/reproducible-path/ddnet-19.1=.
>-fstack-protector-strong \
>-fstack-clash-protection -Wformat -Werror=format-security
>-fcf-protection -Wno-variadic-macros -Wdate-time \
>-D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -fcf-protection \
>-Wl,--dependency-file=CMakeFiles/game-client.dir/link.d \
>"CMakeFiles/game-client.dir/src/engine/client/backend/backend_base.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/glsl_shader_compiler.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/null/backend_null.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengl/backend_opengl.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengl/backend_opengl3.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengl/opengl_sl.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengl/opengl_sl_program.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengles/backend_opengles.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengles/backend_opengles3.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengles/opengles_sl.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/opengles/opengles_sl_program.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend/vulkan/backend_vulkan.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/backend_sdl.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/blocklist_driver.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/client.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/demoedit.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/discord.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/favorites.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/friends.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/ghost.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/graph.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/graphics_threaded.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/input.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/keynames.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/notifications.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/serverbrowser.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/serverbrowser_http.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/serverbrowser_ping_cache.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/sixup_translate_system.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/smooth_time.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/sound.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/sqlite.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/steam.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/text.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/updater.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/video.cpp.o" \
>"CMakeFiles/game-client.dir/src/engine/client/warning.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/animstate.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/component.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/background.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/binds.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/broadcast.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/camera.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/chat.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/console.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/controls.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/countryflags.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/damageind.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/debughud.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/effects.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/emoticon.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/flow.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/freezebars.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/ghost.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/hud.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/infomessages.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/items.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/mapimages.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/maplayers.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/mapsounds.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menu_background.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_browser.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_demo.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_ingame.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_settings.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_settings7.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_settings_assets.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/menus_start.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/motd.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/nameplates.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/particles.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/players.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/race_demo.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/scoreboard.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/skins.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/skins7.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/sounds.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/spectator.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/statboard.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/tooltips.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/touch_controls.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/components/voting.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/gameclient.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/laser_data.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/lineinput.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/pickup_data.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entities/character.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entities/dragger.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entities/laser.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entities/pickup.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entities/projectile.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/entity.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/prediction/gameworld.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/projectile_data.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/race.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/render.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/render_map.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/sixup_translate_connless.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/sixup_translate_game.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/sixup_translate_snapshot.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/ui.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/ui_listbox.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/ui_rect.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/client/ui_scrollregion.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/auto_map.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/component.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor_actions.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor_history.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor_object.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor_props.cpp.o" \
>"CMakeFiles/game-client.dir/src/game/editor/editor_server_settslation_context.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/engine/shared/uuid_manager.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/engine/shared/video.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/engine/shared/websockets.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/game/generated/protocolglue.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/game/generated/protocol7.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/game/generated/protocol.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/game/mapitems_ex.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/bezier.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/color.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/hash.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/hash_bundled.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/hash_libtomcrypt.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/hash_openssl.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/log.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/system.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/unicode/confusables.cpp.o" \
>"CMakeFiles/engine-shared.dir/src/base/unicode/tolower.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/collision.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/gamecore.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/layers.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/localization.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/mapbugs.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/mapitems.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/prng.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/teamscore.cpp.o" \
>"CMakeFiles/game-shared.dir/src/game/generated/git_revision.cpp.o" \
>"CMakeFiles/rust-bridge-shared.dir/src/rust-bridge/cpp/console.cpp.o" \
>"CMakeFiles/rust-bridge-shared.dir/src/rust-bridge/engine/shared/rust_version.cpp.o" \
>-o \
>DDNet \
>/usr/lib/x86_64-linux-gnu/libfreetype.so \
>/usr/lib/x86_64-linux-gnu/libGLEW.so \
>/usr/lib/x86_64-linux-gnu/libpng.so \
>/usr/lib/x86_64-linux-gnu/libz.so \
>/usr/lib/x86_64-linux-gnu/libSDL2.so \
>/usr/lib/x86_64-linux-gnu/libwavpack.so \
>/usr/lib/x86_64-linux-gnu/libavformat.so \
>/usr/lib/x86_64-linux-gnu/libavcodec.so \
>/usr/lib/x86_64-linux-gnu/libavutil.so \
>/usr/lib/x86_64-linux-gnu/libswscale.so \
>/usr/lib/x86_64-linux-gnu/libswresample.so \
>/usr/lib/x86_64-linux-gnu/libx264.so \
>-ldl \
>/usr/lib/x86_64-linux-gnu/libopusfile.so \
>/usr/lib/x86_64-linux-gnu/libopus.so \
>/usr/lib/x86_64-linux-gnu/libogg.so \
>-lvulkan \
>libsteam_api.a \
>release/libddnet_engine_shared.a \
>/usr/lib/x86_64-linux-gnu/libGL.so \
>-lnotify \
>-lgdk_pixbuf-2.0 \
>-lgio-2.0 \
>-lgobject-2.0 \
>-lglib-2.0 \
>/usr/lib/x86_64-linux-gnu/libcrypto.so \
>/usr/lib/x86_64-linux-gnu/libcurl.so \
>/usr/lib/x86_64-linux-gnu/libsqlite3.so \
>/usr/lib/x86_64-linux-gnu/libz.so \
>-lrt \
>-ldl \
>-ljsonparser \
>-Wno-alloc-size-larger-than \
>/usr/lib/x86_64-linux-gnu/libz.so \
>/usr/lib/x86_64-linux-gnu/libSDL2.so \
>/usr/lib/x86_64-linux-gnu/libwavpack.so \
>/usr/lib/x86_64-linux-gnu/libavformat.so \
>/usr/lib/x86_64-linux-gnu/libavcodec.so \
>/usr/lib/x86_64-linux-gnu/libavutil.so \
>/usr/lib/x86_64-linux-gnu/libswscale.so \
>/usr/lib/x86_64-linux-gnu/libswresample.so \
>/usr/lib/x86_64-linux-gnu/libx264.so \
>/usr/lib/x86_64-linux-gnu/libopusfile.so \
>/usr/lib/x86_64-linux-gnu/libopus.so \
>/usr/lib/x86_64-linux-gnu/libogg.so \
>-lvulkan \
>/usr/lib/x86_64-linux-gnu/libGL.so \
>-lnotify \
>-lgdk_pixbuf-2.0 \
>-lgio-2.0 \
>-lgobject-2.0 \
>-lglib-2.0 \
>/usr/lib/x86_64-linux-gnu/libcrypto.so \
>/usr/lib/x86_64-linux-gnu/libcurl.so \
>/usr/lib/x86_64-linux-gnu/libsqlite3.so \
>-lrt
>/usr/bin/ld: CMakeFiles/rust-bridge-shared.dir/src/rust-bridge/engine/shared/rust_version.cpp.o: in function `RustVersionPrint(IConsole const&)':
>./obj-x86_64-linux-gnu/./src/rust-bridge/engine/shared/rust_version.cpp:11:(.text+0x5): undefined reference to `cxxbridge1$RustVersionPrint'
>/usr/bin/ld: CMakeFiles/rust-bridge-shared.dir/src/rust-bridge/engine/shared/rust_version.cpp.o: in function `RustVersionRegister(IConsole&)':
>./obj-x86_64-linux-gnu/./src/rust-bridge/engine/shared/rust_version.cpp:15:(.text+0x15): undefined reference to `cxxbridge1$RustVersionRegister'
>collect2: error: ld returned 1 exit status
My local build was done in an unstable chroot/container, using sbuild
from trixie and its unshare backend, in a trixie amd64 virtual machine
with 4G RAM and 3 vCPUs. The same build failure can be seen on
debusine.debian.net, on arm64:
https://debusine.debian.net/debian/developers/work-request/281583/#output
Perhaps there has been a C++ or Rust toolchain change that caused this
link step to regress?
smcv
More information about the Pkg-games-devel
mailing list