This might be a limit-on-number-of-open-files issue. I encounter it while trying to link with link time optimization *and* using the linker plugin an executable which needs loads of object files from two dozen libraries.
To study this, use a program that's build from libraries and linked as follows: gcc [optimization options] -flto -fwhole-program -fuse-linker-plugin -o exe mainprogram.c lib1.a lib2.a ... libn.a To enforce the limit, use the following command in bash ulimit -n <some small number around 20> -- Summary: lto-plugin gives: could not open/create temporary file Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: toon at moene dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41871