Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] Build failure with OMPI-1.5 (clang-2.8, gcc-4.5.1 with debug options)
From: Jed Brown (jed_at_[hidden])
Date: 2010-10-11 16:50:03


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'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Address':
/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:74:
undefined reference to `MPI_Address'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Barrier':
/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:86:
undefined reference to `MPI_Barrier'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Bcast':
/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:101:
undefined reference to `MPI_Bcast'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Comm_size':
/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:115:
undefined reference to `MPI_Comm_size'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Comm_rank':
/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:127:
undefined reference to `MPI_Comm_rank'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Finalize':
/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:138:
undefined reference to `MPI_Finalize'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Init':
/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:149:
undefined reference to `MPI_Init'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Pack':
/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:165:
undefined reference to `MPI_Pack'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Pack_size':
/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:180:
undefined reference to `MPI_Pack_size'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Recv':
/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:197:
undefined reference to `MPI_Recv'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Send':
/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:218:
undefined reference to `MPI_Send'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Type_commit':
/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:230:
undefined reference to `MPI_Type_commit'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Type_free':
/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:242:
undefined reference to `MPI_Type_free'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Type_struct':
/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:270:
undefined reference to `MPI_Type_struct'
vtunify_mpi-vt_unify_mpi.o: In function `VTUnify_MPI_Unpack':
/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:300:
undefined reference to `MPI_Unpack'
collect2: ld returned 1 exit status
clang: error: linker (via gcc) command failed with exit code 1 (use -v to
see invocation)
make[7]: *** [vtunify-mpi] Error 1

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

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
make[5]: *** [libutil.la] Error 9
make[4]: *** [all-recursive] Error 1
make[3]: *** [all] Error 2
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

There are also lots of these warnings (almost every compilation unit).

../../../../../../../../opal/include/opal/sys/atomic_impl.h:124:7: warning:
indirection of non-volatile null pointer will be deleted, not trap
     *(int*)(0) = 0;
     ^~~~~~~~~~
../../../../../../../../opal/include/opal/sys/atomic_impl.h:124:7: note:
consider using __builtin_trap() or qualifying pointer with 'volatile'

Trunk became unbuildable for me a couple months ago, but it was written off
(could find the bug number) as being the fault of my autotools being too
new, thus I haven't built from mercurial recently. Otherwise I might have
been able to point these out prior to the release.

Jed