[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MPI issue on sparc ? Boost::mpi looks for OpenMPI but it should be LAM no ?



All,

I think the problemI mention below with respect to boost::mpi, openmpi and life on sparc is the following:

 - boost::mpi was compiled with lam on sparc
 - openmpi is available on sparc and is the default implementation thanks to mpi-default-dev
 - life build-depends on mpi-default-dev (and hence openmpi). When life is being compiled
   it instantiates the boost::mpi object with openmpi (instead of lam) and at link time, the linker 
   fails to find the boost::mpi symbols compiled with openmpi.

I will submit a bug on boost/boost::mpi  in the next few days unless an upload fixes this in the mean time

Best regards
C.

On Sun, Jun 6, 2010 at 9:37 AM, Christophe Prud'homme <prudhomm@debian.org> wrote:

 1. http://packages.qa.debian.org/l/life.html
 2. https://buildd.debian.org/status/package.php?p=life#fail-life-sparc


On Sun, Jun 6, 2010 at 9:36 AM, Christophe Prud'homme <prudhomm@debian.org> wrote:
All,

for the last few weeks, I have life [1]  failing to compile on sparc (see below). Boost::MPI looks for
OpenMPI but I was told that that the MPI implementation on sparc is LAM (is that right?)

Life and Boost::Mpi use mpi-default-dev in Build-Depends . 
It seems like there is something fishy with MPI on sparc or am I missing something ?

thank you very much in advance for your help
Best regards
C.
CMakeFiles/life_doc_bratu.dir/bratu.cpp.o: In function `void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)':
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x11c): undefined reference to `boost::mpi::detail::packed_archive_recv(ompi_communicator_t*, int, int, boost::mpi::packed_iarchive&, ompi_status_public_t&)'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x24c): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x268): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x27c): undefined reference to `boost::mpi::detail::packed_archive_recv(ompi_communicator_t*, int, int, boost::mpi::packed_iarchive&, ompi_status_public_t&)'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x39c): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x404): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x414): undefined reference to `boost::mpi::detail::packed_archive_send(ompi_communicator_t*, int, int, boost::mpi::packed_oarchive const&)'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x4c8): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x740): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x758): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x76c): undefined reference to `boost::mpi::detail::packed_archive_recv(ompi_communicator_t*, int, int, boost::mpi::packed_iarchive&, ompi_status_public_t&)'
bratu.cpp:(.text._ZN5boost3mpi10all_reduceISt6vectorIiSaIiEEN4Life6detail11vector_plusIiEEEEvRKNS0_12communicatorERKT_RSC_T0_[void boost::mpi::all_reduce<std::vector<int, std::allocator<int> >, Life::detail::vector_plus<int> >(boost::mpi::communicator const&, std::vector<int, std::allocator<int> > const&, std::vector<int, std::allocator<int> >&, Life::detail::vector_plus<int>)]+0x89c): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
CMakeFiles/life_doc_bratu.dir/bratu.cpp.o: In function `Life::Bratu<2, 2, Life::Simplex>::run()':
bratu.cpp:(.text._ZN4Life5BratuILi2ELi2ENS_7SimplexEE3runEv[Life::Bratu<2, 2, Life::Simplex>::run()]+0xc18): undefined reference to `boost::mpi::communicator::operator ompi_communicator_t*() const'
collect2: ld returned 1 exit status





Reply to: