Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Build failure with OMPI-1.5 (clang-2.8, gcc-4.5.1 with debug options)
From: Matthias Jurenz (matthias.jurenz_at_[hidden])
Date: 2010-10-15 10:59:32


On Friday 15 October 2010 16:56:50 you wrote:
> > On Thu, Oct 14, 2010 at 22:36, Jeff Squyres <jsquyres_at_[hidden]> wrote:
> > > On Oct 11, 2010, at 4:50 PM, Jed Brown wrote:
> > > > Note that this is an out-of-source build.
> > > >
> > > > $ ../configure --enable-debug --enable-mem-debug
> > >
> > > --prefix=/home/jed/usr/ompi-1.5-clang CC=clang CXX=clang++
> > >
> > > > $ make
> > > > [...]
> > > > CXXLD vtunify-mpi
> > > > vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Abort':
>
>
/home/jed/src/openmpi-1.5/bclang/ompi/contrib/vt/vt/tools/vtunify/mpi/../../../../../../../../ompi/contrib/vt/vt/tools/vtunify/mpi/vt_unify_mpi.c:63:
> > > undefined reference to `MPI_Abort'
> > >
> > > Well this is disappointing. :-\
> > >
> > > Can you "make V=1" so that we can see the command line here that is
> > > failing?
> >
> > libtool: link: clang++ -DVT_MPI -g -finline-functions -pthread -o
> > .libs/vtunify-mpi vtunify_mpi-vt_unify_mpi.o vtunify_mpi-vt_unify.o
> > vtunify_mpi-vt_unify_defs.o vtunify_mpi-vt_unify_defs_hdlr.o
> > vtunify_mpi-vt_unify_events.o vtunify_mpi-vt_unify_events_hdlr.o
> > vtunify_mpi-vt_unify_markers.o vtunify_mpi-vt_unify_markers_hdlr.o
> > vtunify_mpi-vt_unify_stats.o vtunify_mpi-vt_unify_stats_hdlr.o
> > vtunify_mpi-vt_unify_tkfac.o ../../../util/.libs/libutil.a
> > ../../../extlib/otf/otflib/.libs/libotf.so -lz
> > -L/home/jed/src/openmpi-1.5/bclang/ompi/contrib/vt/vt/../../../.libs
> > /home/jed/src/openmpi-1.5/bclang/ompi/contrib/vt/vt/../../../.libs/libmpi
> >.so -ldl -lnsl -lutil -lm -pthread -Wl,-rpath
> > -Wl,/home/jed/usr/ompi-1.5-clang/lib
> > vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Abort':
>
>
/home/jed/src/openmpi-1.5/bclang/ompi/contrib/vt/vt/tools/vtunify/mpi/../../../../../../../../ompi/contrib/vt/vt/tools/vtunify/mpi/vt_unify_mpi.c:63:
> > undefined reference to `MPI_Abort'
> >
> > > FWIW, this looks like a problem that is self-contained in VampirTrace,
> > > so you can likely get a working build with:
> > >
> > > ./configure --enable-contrib-no-build=vt ...
> > >
> > > > Leaving out the debugging flags gets me further (no compilation
> > > > error,
> > >
> > > just this link error):
> > > > $ ../configure --prefix=/home/jed/usr/ompi-1.5-clang CC=clang
> > > > CXX=clang++ $ make
> > > > [...]
> > > > CCLD libutil.la
> > > > ar:
> > >
> > > /home/jed/src/openmpi-1.5/bclang/ompi/contrib/vt/vt/util/.libs/libutil.
> > >a:
>
> No
>
> > > such file or directory
> > >
> > > > make[5]: *** [libutil.la] Error 9
> > >
> > > That's a weird one -- it should be *creating* that library, so I'm not
>
> sure
>
> > > why it would complain that the library doesn't exist...? This could be
> > > a red herring, though -- perhaps some oddity in your tree and/or
> > > filesystem...? (I've seen this kind of thing before such that a "make
> > > distclean" fixed the issue, I think)
> >
> > Sure enough, using a new build directory, I get the same error as above:
> >
> > libtool: link: clang++ -DVT_MPI -O3 -DNDEBUG -finline-functions -pthread
> > -o .libs/vtunify-mpi vtunify_mpi-vt_unify_mpi.o vtunify_mpi-vt_unify.o
> > vtunif y_mpi-vt_unify_defs.o vtunify_mpi-vt_unify_defs_hdlr.o
> > vtunify_mpi-vt_unify_events.o vtunify_mpi-vt_unify_events_hdlr.o
> > vtunify_mpi-vt_unify_markers.o
> > vtunify_mpi-vt_unify_markers_hdlr.o vtunify_mpi-vt_unify_stats.o
> > vtunify_mpi-vt_unify_stats_hdlr.o vtunify_mpi-vt_unify_tkfac.o
> > ../../../util/.libs/
> > libutil.a ../../../extlib/otf/otflib/.libs/libotf.so -lz
> > -L/home/jed/src/openmpi-1.5/bclang-nodbg/ompi/contrib/vt/vt/../../../.lib
> >s /home/jed/src/open
> > mpi-1.5/bclang-nodbg/ompi/contrib/vt/vt/../../../.libs/libmpi.so -ldl
> > -lnsl -lutil -lm -pthread -Wl,-rpath
> > -Wl,/home/jed/usr/ompi-1.5-clang-nodbg/lib vtunify_mpi-vt_unify_mpi.o: In
> > function `VTUnify_MPI_Abort':
> > ../../../../../../../../ompi/contrib/vt/vt/tools/vtunify/mpi/vt_unify_mpi
> >.c:
>
> (.text+0xa):
> > undefined reference to `MPI_Abort'
> >
> > Grab config.log for this case here:
> >
> > http://59A2.org/files/openmpi-1.5-clang-config.log
> >
> > > > I also get this last failure with gcc-4.5.1, but only with the debug
> > >
> > > flags:
> > > > $ ../configure --enable-debug --enable-mem-debug
> > >
> > > --prefix=/home/jed/usr/ompi-1.5-gcc CC=gcc CXX=g++
> > >
> > > > $ make
> > > > [...]
> > > > Making all in util
> > > > CC libutil_la-installdirs.lo
> > > > CCLD libutil.la
> > > > ar:
> > >
> > > /home/jed/src/openmpi-1.5/bgcc/ompi/contrib/vt/vt/util/.libs/libutil.a:
> > > No such file or directory
> > >
> > > Same error. Weird. Can you "make V=1" here, too?
> >
> > This one completes with a clean build directory, reconfiguring from a
> > non-debug build must have caused this issue the first time around.
>
> This is definitely a Libtool issue. I could simply reproduce this error by
> reconfiguring from a previous build regardless of which options passed to
> the configure:
>
> configure
> make
> configure
> make
>
> It seems to me that libtool doesn't correctly cleanup its previous created
> output files. Just before libtool builds the library, it removes libutil.la
> and libutil.a from the .libs directory, but not libutil.la from CWD.
>
> If I run 'make clean' or manually remove the libutil.la, it works.
>
> Unfortunately, this issue is also persistent in Libtool version 2.2.8 and
> 2.2.4.
I meant version 2.4, not 2.2.4.

>
>
> Matthias
>
> > Jed
>