Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Help on building openmpi with "-Wl, --as-needed -Wl, --no-undefined"
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-07-23 09:54:50


Brian / Ralf --

Is the attached patch what you're talking about?

If so, I'll commit to trunk, v1.2, and v1.3.

On Jul 21, 2008, at 7:08 PM, Brian W. Barrett wrote:

> On Sun, 20 Jul 2008 21:13:48 +0200, Ralf Wildenhues
> <Ralf.Wildenhues_at_[hidden]> wrote:
>> * Funda Wang wrote on Sun, Jul 20, 2008 at 05:29:57AM CEST:
>>> I'm currently building openmpi 1.2.6 under Mandriva cooker, and its
>>> default LDFLAGS is "-Wl,--as-needed -Wl,--no-undefined".
>>>
>>> But openmpi 1.2.6 builds failed with:
>>> libtool: link: g++ -shared -nostdlib
>>> /usr/lib/gcc/i586-manbo-linux-gnu/4.3.1/../../../crti.o
>>> /usr/lib/gcc/i586-manbo-linux-gnu/4.3.1/crtbeginS.o .libs/mpicxx.o
>>> .libs/intercepts.o .libs/comm.o .libs/datatype.o .libs/file.o
>>> .libs/win.o -lnsl -lutil -L/usr/lib/gcc/i586-manbo-linux-gnu/4.3.1
>>> -L/usr/lib/gcc/i586-manbo-linux-gnu/4.3.1/../../.. -lstdc++ -lm
>>> -lpthread -lc -lgcc_s
>>> /usr/lib/gcc/i586-manbo-linux-gnu/4.3.1/crtendS.o
>>> /usr/lib/gcc/i586-manbo-linux-gnu/4.3.1/../../../crtn.o -march=i586
>>> -mtune=generic -pthread -Wl,--no-undefined -pthread -Wl,-soname
>>> -Wl,libmpi_cxx.so.0 -o .libs/libmpi_cxx.so.0.0.0
>>> .libs/mpicxx.o: In function `Errhandler':
>>>
>>
> /home/fwang/rpm/BUILD/openmpi-1.2.6/ompi/mpi/cxx/../../../ompi/mpi/
> cxx/errhandler.h:30:
>>> undefined reference to `ompi_mpi_errors_are_fatal'
>>
>> I suppose ompi/mpi/cxx/Makefile.am is missing some
>> libmpi_cxx_la_LIBADD
>> line.
>
> Yeah, Ralf's correct -- Open MPI's missing the LIBADD fields to
> cause the
> C++, F77, and F90 bindings to not link against libmpi.so (which they
> depend
> upon).
>
> There's no good solution to this problem in Open MPI 1.2.6, other
> than to
> not build with -Wl,--no-undefined. The fix requires rebuilding the
> Makefile, which is a little dicy from an Open MPI release tarball.
> Hopefully, one of the current developers can patch this for upcoming
> releases. Unfortunately, most of the time, such a link isn't really
> required, so this never came up before. It does seem weird that a
> distribution would enable that option by default, since many
> projects don't
> properly handle the situation well.
>
> Brian
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
Cisco Systems