Skip to content

recomp-ui-snes-pad-defaults test fails to link: missing n64_pad_binds.c #58

Description

@mstan

recomp-ui-snes-pad-defaults-test does not link, so the recomp-ui-snes-pad-defaults ctest never runs.

/usr/bin/ld: CMakeFiles/recomp-ui-snes-pad-defaults-test.dir/tests/snes_pad_defaults_test.c.o:
  in function `launcher_binds_save_n64_gamepad':
  undefined reference to `rui_n64_pad_binds_name_is_custom'
  undefined reference to `rui_n64_pad_binds_save_profile'
  undefined reference to `rui_n64_pad_binds_rename'
  undefined reference to `rui_n64_pad_binds_delete'
collect2: error: ld returned 1 exit status

The test TU pulls in src/common/launcher_binds.c, whose launcher_binds_*_n64_gamepad helpers call into rui_n64_pad_binds_*. Those are defined in src/consoles/n64/n64_pad_binds.c, which the target's source list does not include.

Knock-on effect: ninja stops at this failure, so recomp-ui-launcher-nav-backspace-test and recomp-runtime-ui-imgui-test are never built and report Not Run too. Both pass when built explicitly, so those two are collateral, not separate bugs. A full ctest run therefore reports 3 failures out of 20 where there is really only one.

Reproduction (Ubuntu 24.04, gcc, SDL3 3.4.14 from /usr/local):

cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target recomp-ui-snes-pad-defaults-test

Bisect: reproduces at cb7e54b ("launcher: per-column IDs on shortcut rows, Backspace unbinds, N64 pad profiles"), which is where the rui_n64_pad_binds_* calls entered launcher_binds.c. Not a regression from anything newer.

Found while fixing the Linux AppImage file-picker bug on branch fix/linux-picker-appimage-env; unrelated to that change, and it does not affect consumer builds (FZeroSNESRecomp's Windows and Linux builds are unaffected — only this standalone self-test target).

Low priority: N64 support is deprecated.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions