Ubuntu made some changes to the linker. See if this information helps and report back. This is from a post in digitalmars.D
"Changes to gcc or ld in Ubuntu 11.10 require a small addition to prevent linker errors referencing librt. "-L-lphobos2" needs to be added to DFLAGS before "-L-lrt". I spent a long time trying to figure the problem out before I realized that gcc was tacking on a -lphobos2 to the END of the command (after the -lrt flag). "This page: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition may explain the behavior, I'm not sure." Justin Whear