On Sun, Nov/23/2008 09:19:12AM, Ralf Wildenhues wrote:
> * Ethan Mallove wrote on Fri, Nov 21, 2008 at 09:01:56PM CET:
> > On Fri, Nov/21/2008 01:02:12PM, Ralf Wildenhues wrote:
> > > IMHO OpenMPI can use
> > > the solaris_use_stlport4=yes until such a functionality is in place.
> >
> > Nice. This workaround works. I don't suppose there's a similar
> > workaround to unset "wl" in the FC libtool section? If not, I think we
> > still need the heinous post-configure workaround script. Otherwise,
> > since there won't be a stable Libtool that contains the Sun Fortran
> > fix for a while, I propose the attached patch.
>
> While I suppose your patch works, I think in similar situations, OpenMPI
> has resorted to patching input files to configure (like aclocal.m4 or
> ltmain.sh). Search autogen.sh for instances of 'patch'.
>
I think I got it. I patch libtool.m4 in autogen.sh after libtoolize
creates libtool.m4. How is the patch now?
-Ethan
> (This is merely an observation; I am not an OpenMPI developer.)
>
> Cheers,
> Ralf
> _______________________________________________
> devel mailing list
> [email protected]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
Index: configure.ac
===================================================================
--- configure.ac (revision 19845)
+++ configure.ac (working copy)
@@ -1071,6 +1076,12 @@
ompi_show_subtitle "Libtool configuration"
+# Use the undocumented solaris_use_stlport4 libtool variable to turn off any
+# Cstd/stlport4 linkage. This allows Open MPI to be C++ STL agnostic.
+if test "x$ompi_cv_c_compiler_vendor" = "xsun"; then
+ solaris_use_stlport4="yes"
+fi
+
dnl Not all versions of LT set the PACKAGE_VERSION
m4_ifdef([LT_PACKAGE_VERSION], [], [m4_define([LT_PACKAGE_VERSION], [1.5.22])])
Index: autogen.sh
===================================================================
--- autogen.sh (revision 19845)
+++ autogen.sh (working copy)
@@ -541,6 +541,12 @@
aclocal.m4 > aclocal.m4.new
cp aclocal.m4.new aclocal.m4
rm -f aclocal.m4.new
+
+ # This patch fixes a bug in Libtool's detection of the Sun Studio
+ # Fortran compiler. See the below e-mail thread for more details:
+ # http://www.open-mpi.org/community/lists/devel/2008/11/4920.php
+ echo " ++ patching for Sun Studio Fortran compilers"
+ patch -N -p0 < config/lt-sun-fortran.diff > /dev/null 2>&1
fi
run_and_check $ompi_autoconf
Index: config/lt-sun-fortran.diff
===================================================================
--- config/lt-sun-fortran.diff (revision 0)
+++ config/lt-sun-fortran.diff (revision 0)
@@ -0,0 +1,26 @@
+--- config/libtool.m4.orig
++++ config/libtool.m4
+@@ -3947,17 +3947,17 @@ m4_if([$1], [CXX], [
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+- *Sun\ C*)
+- # Sun C 5.9
++ *Sun\ F* | *Sun*Fortran*)
++ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+- *Sun\ F*)
+- # Sun Fortran 8.3 passes all unrecognized flags to the linker
++ *Sun\ C*)
++ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;