Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] RFC: Add SunStudio/Libtool helper script for post-configure
From: Ethan Mallove (ethan.mallove_at_[hidden])
Date: 2008-11-21 15:01:56


On Fri, Nov/21/2008 01:02:12PM, Ralf Wildenhues wrote:
> Hello Ethan, all,
>
> * Ethan Mallove wrote on Thu, Nov 20, 2008 at 10:33:08PM CET:
> > On Thu, Nov/20/2008 07:00:31PM, Ralf Wildenhues wrote:
> > >
> > > Ah, ok. Please try the patch below instead of yours, thanks.
> >
> > Your patch seems to work, though I get this:
> >
> > libtool: Version mismatch error. This is libtool 2.2.7a, but the
> > libtool: definition of this LT_INIT comes from libtool 2.2.6.
> > libtool: You should recreate aclocal.m4 with macros from libtool 2.2.7a
> > libtool: and run autoconf again.
> >
> > I take it the above error will occur if I have two different libtools
> > in my PATH?
>
> No. That means the macro files that were picked up were from Libtool
> 2.2.6, while the ltmain.sh file is from 2.2.7a.
>
> > This comment could be a little misleading because the same is true for
> > Sun Fortran 8.1 and 8.2:
> >
> > # Sun Fortran 8.3 passes all unrecognized flags to the linker
>
> OK. I think we simply didn't have any other version to test at the time
> this was written. We usually list the version somewhere so we can check
> for version-specific issues, should they later show up.
>
> I will update the comment to list '8.1 through 8.3', when I commit your
> patch (sometime this weekend); thanks for testing it.
>
> > I don't know of a version of Sun Fortran that accepts -Wl the way GNU
> > Fortran does. I will let you know if I find one.
>
> Thanks.
>
> > > > I'm still running into the Cstd/stlport4 issue with 2.2.6. That is,
> > > > this line appears in the libtool script:
> > > >
> > > > postdeps="-library=Cstd -library=Crun"
> > >
> > > Do you have the string " -library=stlport4 " in $CXX $CXXFLAGS?
> > > If not, then how can Libtool detect that you use stlport?
> >
> > Ok. When I use -library=stlport4, I get libstlport linked to
> > libmpi_cxx, instead of libCstd. Doesn't that then lock the user into
> > having to use stlport4 when we want them to be able to use either Cstd
> > or stlport4?
>
> Hmm, yes, it does. It is a bit of a problem to let libtool avoid either
> standard C++ library in general: with shared libraries or even
> dlopen'able modules, this can result in undefined symbols at run time.
>
> As the code is currently written in libtool.m4, there is an undocumented
> way which you can use to get the effects of adding neither library: set
> solaris_use_stlport4=yes. You can use this, either as argument to
> configure, or set it inside configure.ac (or a macro) so that it is
> expanded before AC_PROG_LIBTOOL.
>
> However, as it is undocumented, there is no guarantee that it will
> continue to work indefinitely. What Libtool should instead do future is
> provide some configure flag to allow to specify that no C++ standard
> library is to be linked in by default. That would help for a couple of
> different setups with other compilers as well. 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.

Thanks,
Ethan

>
> Cheers, and thanks,
> Ralf
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel