← technical essays
[ESSAY]
No. 4.79 Aug 5, 2026 short essay

Linkers Are the Compile Step You Forget

Object files are unfinished sentences. The linker decides whether they form a program.

[ essay ]

Compilers get the essays. Linkers get the shrug. After the compiler emits object files, someone still has to resolve symbols, pick sections, and decide which main is the real one. That someone is the linker. I do not write linkers. I consume rustc and wasm-ld until a symbol is undefined and the build log suddenly speaks a language I skipped.

Nightbind’s WASM combat sim compiled clean and then failed at link because a crate feature had not pulled in the symbol the sim actually called. The compiler was happy: each crate was a coherent object. The program was not a program until the linker said the graph closed. Duplicate symbols, missing libraries, and “works on my machine” because the system linker found a dylib CI did not — these are linker problems wearing compiler costumes.

Read the link line when the compile line is green. Object files are not binaries. Symbols are the contract between translation units. If you only debug compile errors, you are debugging the chapter, not the book. The forgotten step is still a compile step. It just happens after you stopped watching.

— JV · Dark Heart Labs.

№ 4.79 — JV · Dark Heart Labs.