Linux AppImage v2.0.5: link FAILED, 20 undefined symbols (f_811f3a80 ...), v2.0.4 builds fine #890
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot#890
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Builder version
v2.0.5 (Linux AppImage
Hookshot-v2.0.5-x86_64.AppImage)How you built
Linux AppImage,
--cli. Tried both ways:--update <game folder>(kept from a v2.0.4 build) and a full--nupbuild into the same folder.Game files given to it
A .nup (two titles: base v65536 + update v131072).
--checkreports "This is the version Hookshot supports (build e0f3ccfa)". v2.0.4 built from the same .nup on the same machine without problems.The error
The compile step finishes, then the link fails with the same 20 undefined symbols, every time:
All 20 symbols:
What I checked
object keys: ... lifted code acd0d8dd37 (65 files)for v2.0.5; v2.0.4 hadlifted code 0d1917efe9 (80 files). Same game headers and flags keys.hookshot-work/objcacheandhookshot-work/sa/build/obj) and did a clean full build: all 243 files compiled, 0 failed, and the link fails with the same 20 symbols. So it is not a stale cache.f_811f3a80incode_000.c,code_008.canda64_table.c) and listed infunctions.txt, but I did not find a definition for them in the compiledcode_NNN.c/code_hot_N.cfiles. I have not worked out why the lift leaves them out.Environment
Fedora 43 (KDE Plasma, Wayland), kernel 7.2, NVIDIA RTX 3050 Ti Laptop 4 GB (driver 580), Intel i9-12900HK, 15 GB RAM. 4 compile jobs.
Happy to attach the full build logs or test a fix.
Thanks for the detailed report. Your 65 code files is 57 chunks plus the 8 hot pieces with none of the 15
code_NNN_k.cparts, and the missing functions sit in the tails of the big chunks, which is what those parts hold. On top of that, the lift cache (sa/gen/.lift_key) kept vouching for that C, so a clean compile reused it too.Workaround: delete
~/.cache/hookshot-builder/sa/gen/.lift_key(or the wholesa/genfolder), then build once with no other Hookshot build running. Was a second build running at the same time when it first failed (another builder window, or the game's update offer)? The lift part of that first v2.0.5 log would show it: a normal lift printschunks: code_0NN.c (... MB) in N partslines.#918 stops the build from reusing a lift whose functions aren't all defined, and allows one build at a time on a work folder.
Tracked in #1000, follow there. That issue collects every report of Linux / Steam Deck GPU hangs, crashes, low fps and build failures, and this one is linked from it with its GPU, version and log details. If it still happens on v2.0.6 (https://github.com/NotRexed/Hookshot/releases/tag/v2.0.6; Update next to Play in the launcher), please add a comment there with your
hookshot_log.txt.