All,<div><br></div><div>I think the problemI mention below with respect to boost::mpi, openmpi and life on sparc is the following:</div><div><br></div><div> - boost::mpi was compiled with lam on sparc</div><div> - openmpi is available on sparc and is the default implementation thanks to mpi-default-dev</div>
<div> - life build-depends on mpi-default-dev (and hence openmpi). When life is being compiled</div><div> it instantiates the boost::mpi object with openmpi (instead of lam) and at link time, the linker </div><div> fails to find the boost::mpi symbols compiled with openmpi.</div>
<div><br></div><div>I will submit a bug on boost/boost::mpi in the next few days unless an upload fixes this in the mean time</div><div><br></div><div>Best regards</div><div>C.<br><br><div class="gmail_quote">On Sun, Jun 6, 2010 at 9:37 AM, Christophe Prud'homme <span dir="ltr"><<a href="mailto:prudhomm@debian.org">prudhomm@debian.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div> 1. <a href="http://packages.qa.debian.org/l/life.html" target="_blank">http://packages.qa.debian.org/l/life.html</a><div>
<a href="http://packages.qa.debian.org/l/life.html" target="_blank"></a> 2. <a href="https://buildd.debian.org/status/package.php?p=life#fail-life-sparc" target="_blank">https://buildd.debian.org/status/package.php?p=life#fail-life-sparc</a><div>
<div></div><div class="h5"><br>
<br><div class="gmail_quote">On Sun, Jun 6, 2010 at 9:36 AM, Christophe Prud'homme <span dir="ltr"><<a href="mailto:prudhomm@debian.org" target="_blank">prudhomm@debian.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
All,<div><br></div><div>for the last few weeks, I have life [1] failing to compile on sparc (see below). Boost::MPI looks for</div><div>OpenMPI but I was told that that the MPI implementation on sparc is LAM (is that right?)</div>
<div><br></div><div>Life and Boost::Mpi use mpi-default-dev in Build-Depends . </div><div>It seems like there is something fishy with MPI on sparc or am I missing something ?</div><div><br></div><div>thank you very much in advance for your help</div>
<div>Best regards</div><div>C.</div><div><span style="font-family:'Times New Roman';font-size:medium"><pre>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>)':</pre>
<pre>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</pre></span><div><br></div><div><br></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div>