How good are you with reading/editing Makefiles? I find problems like
this are usually solved by searching the Makefiles for the offending
line(s) and removing the offending switch.
In a well-designed make environment, you should only have to edit the
top-level Makefile. In the worst case, you'll have to edit every
Makefile. Fortunately, you can usually speed this up with some shell
kung-fu, if necessary.
This of course doesn't work if the developers were "clever" enough to
have a build environment that overwrite the Makefiles with new ones
every time to try to build. I don't think this applies to Open MPI.
Axel Schweiger wrote:
> Trying to build a hybrid OpenMPI with PGI fortran and gcc to support
> WRF model
> The problem appears to be due to a -pthread switch passed to pgfortran.
> libtool: link: pgfortran -shared -fpic -Mnomain .libs/mpi.o
> .libs/mpi_sizeof.o .libs/mpi_comm_spawn_multiple_f90.o
> .libs/mpi_testall_f90.o .libs/mpi_testsome_f90.o .libs/mpi_waitall_f90.o
> .libs/mpi_waitsome_f90.o .libs/mpi_wtick_f90.o .libs/mpi_wtime_f90.o
> -Wl,-rpath -Wl,/home/axel/AxboxInstall/openmpi-1.4.2/ompi/.libs
> -Wl,-rpath -Wl,/home/axel/AxboxInstall/openmpi-1.4.2/orte/.libs
> -Wl,-rpath -Wl,/home/axel/AxboxInstall/openmpi-1.4.2/opal/.libs
> -Wl,-rpath -Wl,/opt/openmpi-pgi-gcc-1.42/lib
> /home/axel/AxboxInstall/openmpi-1.4.2/opal/.libs/libopen-pal.so -ldl
> -lnsl -lutil -lm -pthread -Wl,-soname -Wl,libmpi_f90.so.0 -o
> pgfortran-Error-Unknown switch: -pthread
> make: *** [libmpi_f90.la] Error 1
> There has been discussion on this issue and the below solution
> suggested. This doesn't appear to work for the 10.8
> There was a previous thread:
> suggesting other solutions.
> Wondering if there is a better solution right now? Building 1.4.2