[ ref: http://gcc.gnu.org/ml/gcc/2009-08/msg00085.html ]
> libtool: link: /opt/gcc-tools/i686-pc-cygwin/bin/ar rc .libs/libgomp.lib > alloc. > o barrier.o critical.o env.o error.o iter.o iter_ull.o loop.o loop_ull.o > ordered > .o parallel.o sections.o single.o task.o team.o work.o lock.o mutex.o proc.o > sem > .o bar.o ptrlock.o time.o fortran.o affinity.o > /opt/gcc-tools/i686-pc-cygwin/bin/ar: .libs/libgomp.lib: File format not > recogni > zed > make[4]: *** [libgomp.la] Error 1 > > $ file i686-pc-cygwin/libgomp/.libs/libgomp.lib > i686-pc-cygwin/libgomp/.libs/libgomp.lib: symbolic link to `libgomp-1.dll' There's one immediately obvious difference in the generated makefiles between a bad and a good build: > -#nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod > omp_lib_kinds.mod > +nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod The good file has the nodist_finclude_HEADERS defined (makes sense), this adds extra dependencies in the build, and because these files are generated by running config.status I wonder if there's some kind of either parallel build missing dependency problem or just a consequence of invoking config.status at a different time during the build sequence. In connection with that, I found an interesting difference when comparing two config.log files (both from successful builds, as it happens): @@ -1498,3 +1500,21 @@ toolexeclibdir='$(toolexecdir)/$(gcc_ver #define HAVE_SYNC_BUILTINS 1 configure: exit 0 + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by GNU OpenMP Runtime Library config.status 1.0, which w as +generated by GNU Autoconf 2.64. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status Makefile depfiles + +on ubik + +config.status:1233: creating Makefile +config.status:1446: executing depfiles commands This also makes me think that there's some uncertainty in exactly how and where config.status is getting run. -- Summary: Can't build libgomp without --enable-languages=fortran Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgomp AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: davek at gcc dot gnu dot org GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: i686-pc-cygwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41418