The correct linker options for this sort of issue are the same as on Linux. Perhaps their build scripts behave differently on Linux than on Hurd. It sounds like they expect to link the main executable with --export-dynamic (aka -E). Use nm --dynamic or objdump --dynamic-syms to see what symbols are defined in the executable on Linux and on Hurd.