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. Cheers, and thanks, Ralf