https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107612
--- Comment #9 from Iain Sandoe <iains at gcc dot gnu.org> --- mystery solved. The symbols are also undefined on Linux, but the linux linker silently allows this. To do this on Darwin, we have to add -Wl,-undefined,dynamic_lookup However, this mode is looking like it's deprecated.. (as is dynamic exports). ... so what we need is the library dependency order and then we can build in reverse order and link the dependency DSOs ... ===== NOTE: I think we should link the plugin against the stdc++ symbols in gm2, since that statically links libstdc++ .. .. if we dynamically link it from the plugin then when the plugin is loaded there would be two versions of each libstdc++ symbol in the same process (one from gm2 and one from the libstdc++.dylib). fun...