I believe that when you specify a crate with #[phase(syntax)], that should resolve a crate for the host architecture, not the target architecture. This means that if I'm doing a cross-compile, I'm going to attempt to dlopen libraries for the target architecture, which will probably fail if I'm cross compiling.
cc @sfackler