LAM/MPI logo

XMPI User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |  

From: Brian Barrett (brbarret_at_[hidden])
Date: 2004-07-27 11:09:44


On Jul 27, 2004, at 8:09 AM, Charlie Peck wrote:

> Output from make (with Motif):
>
> mpiCC -g -O2 -o xmpi lamtr_util.o xmpi.o xmpi_about.o xmpi_aschema.o
> xmpi_browse.o xmpi_copies.o xmpi_ctl.o xmpi_dbase.o xmpi_db_int.o
> xmpi_db_parse.o xmpi_dtprint.o xmpi_dtype.o xmpi_error.o xmpi_focus.o
> xmpi_help.o xmpi_kiviat.o xmpi_matrix.o xmpi_misc.o xmpi_nodes.o
> xmpi_pophelp.o xmpi_run.o xmpi_trace.o xmpi_tr_dump.o xmpi_tr_file.o
> xmpi_tr_segment.o xmpi_view.o xmpi_vendor.o xpm.o -Wl,-bind_at_load
> ../../src/libxmpi/.libs/libxmpi.a -L/sw/lib -L/usr/X11R6/lib
> /sw/lib/libXm.dylib -lSM -lICE -lXext -lXp -lXt -lX11 -lm
> ld: warning multiple definitions of symbol _XauDisposeAuth
> /usr/X11R6/lib/libX11.dylib(AuDispose.o) definition of _XauDisposeAuth
> /usr/X11R6/lib/libXp.dylib(AuDispose.o) definition of _XauDisposeAuth
> ld: warning multiple definitions of symbol _XauReadAuth
> /usr/X11R6/lib/libXp.dylib(AuRead.o) definition of _XauReadAuth
> /usr/X11R6/lib/libX11.dylib(AuRead.o) definition of _XauReadAuth

These are actually harmless and unavoidable. Both libraries are
provided by Apple and there really isn't a way around the OS X linker
complaining about them. If you notice, most X11 apps have complaints
here. I'm not sure why Apple can't hide them through some magic, but
*shrug*.

> ld: Undefined symbols:
> ___gxx_personality_v0
> std::__default_alloc_template<(bool)1, (int)0>::deallocate(void*,
> unsigned long)

I cut out a couple of the errors because they are all the result of the
same root problem. OS X has a case insensitive filesystem, so mpiCC
and mpicc are the same command. Somewhere before LAM 7.0, we updated
LAM itself to not install mpiCC on OS X, but to have mpicc and mpic++.
Apparently, we never updated the XMPI code base to use the right
compiler, so it is doing the final link with what it thinks is a C++
compiler but is actually a C compiler. Since the C compiler isn't
dragging in all the C++ standard libraries, linking fails.

The solution is to add the configure argument --with-cxx=mpic++ to
XMPI's configure script.

As an aside, I wouldn't use XMPI and Lesstif together when OpenMotif is
available. LessTif has some irritating bugs that XMPI can expose.

Brian