Disclamer first: Yes, I am testing a *beta* compiler but this is NOT about a compiler bug. I leave it to the judgment of others whether my findings warrant any action.
I am testing the 2.0.0rc2 tarball with the Oracle Solaris Studio 12.5-beta for Linux. With Studio 12.4 all is fine on the same system with identical configure options. The configure command options in both cases (with different $PATH): --prefix=[...] --enable-debug --enable-mpi-cxx CC=cc CXX=CC FC=f95 With 12.5-beta (but not 12.4) I see the following failure while building the fortran bindings: /bin/sh ../../../../libtool --tag=FC --mode=link f95 -I../../../../ompi/include -I/scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/openmpi-2.0.0rc2/ompi/include -I../../../.. -I/scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/openmpi-2.0.0rc2 -g -version-info 20:0:0 -o libmpi_usempi_ignore_tkr.la -rpath /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/INST/lib mpi-ignore-tkr.lo /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/BLD/opal/ libopen-pal.la -lrt -lm -lutil libtool: link: f95 -shared .libs/mpi-ignore-tkr.o -rpath /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/BLD/opal/.libs -rpath /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/INST/lib /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u5b/BLD/opal/.libs/libopen-pal.so -ldl -lnuma -lrt -lm -lutil -g -mt -soname libmpi_usempi_ignore_tkr.so.20 -o .libs/libmpi_usempi_ignore_tkr.so.20.0.0 f90: Warning: Option -shared passed to ld, if ld is invoked, ignored otherwise f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise f90: Warning: Option -path passed to ld, if ld is invoked, ignored otherwise f90: Warning: Option -soname passed to ld, if ld is invoked, ignored otherwise /usr/bin/ld: unrecognized option '-path' /usr/bin/ld: use the --help option for usage information make[2]: *** [libmpi_usempi_ignore_tkr.la] Error 2 My first observation is that f95 command line produced by libtool doesn't look at all like the same step when using the 12.4 compiler: libtool: link: f95 -G -KPIC .libs/mpi-ignore-tkr.o -Qoption ld -rpath -Qoption ld /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u4/BLD/opal/.libs -Qoption ld -rpath -Qoption ld /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u4/INST/lib /scratch/phargrov/OMPI/openmpi-2.0.0rc2-linux-x86_64-ss12u4/BLD/opal/.libs/libopen-pal.so -ldl -lnuma -lrt -lm -lutil -g -mt -Qoption ld -soname -Qoption ld libmpi_usempi_ignore_tkr.so.20 -o .libs/libmpi_usempi_ignore_tkr.so.20.0.0 So, my initial diagnosis was that this is most likely a libtool bug. BUT, I also know that autogen.pl contains logic for "Patching configure for Sun Studio Fortran version strings". So, I recognized that Open MPI's autogen.pl might be where the fix belongs. Continuing on that line of though I discovered that the version strings for the Fortran compiler have changed between 12.4 and 12.5-beta: $ /opt/oracle/solarisstudio12.4/bin/f95 -V f90: Sun Fortran 95 8.7 Linux_i386 2014/10/20 $ /opt/oracle/solarisstudio12.5-beta/bin/f95 -V f90: Studio 12.5 Fortran 95 8.8 Linux_i386 Beta 2015/11/17 Notice that "Sun" is gone, and thus the patterns used by libtool no longer match! So, this *is* a libtool "issue", but can hardly be blamed on libtool. FWIW: the C and C++ compiler still say "Sun" and match the patterns used by libtool: $ /opt/oracle/solarisstudio12.5-beta/bin/cc -V cc: Studio 12.5 Sun C 5.14 Linux_i386 Beta 2015/11/17 $ /opt/oracle/solarisstudio12.5-beta/bin/CC -V CC: Studio 12.5 Sun C++ 5.14 Linux_i386 Beta 2015/11/17 I checked the libtool git repo, and there is no upstream fix for this (Ralf W., are you still on this list?) So, for all that wind-up this posting comes down to a small addition to autogen.sh: --- a/autogen.pl +++ b/autogen.pl @@ -977,6 +977,12 @@ sub patch_autotools_output { $c =~ s/$search_string/$replace_string/; } + # Oracle has apparently begun (as of 12.5-beta) removing the "Sun" branding. + # So this patch (cumulative over the previous one) is required. + push(@verbose_out, $indent_str . "Patching configure for Oracle Studio Fortran version strings\n"); + $c =~ s/\*Sun\*Fortran\*\)/*Sun*Fortran* | *Studio*Fortran*)/g; + $c =~ s/\*Sun\\ F\*\)(.*\n\s+tmp_sharedflag=)/*Sun\\ F* | *Studio*Fortran*)$1/g; + # See http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=v2.2.6-201-g519bf91 for details # Note that this issue was fixed in LT 2.2.8, however most distros are still using 2.2.6b -Paul -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900