|
From: Murphy, J. T. <jtm...@an...> - 2017-09-16 16:06:59
|
Hello, From your email, it looks like when you are compiling you are using a command like “mpicxx”; this will invoke a compiler with a set of compilation flags, including library directories and libraries, already set. You should not need to explicitly link to the mpi libraries. (This is different from the Repast HPC generic installation instructions, which assume you are installing everything on a system that does not include MPI). You can try two things from your command line: which mpicxx This will tell you the full path to the mpi compiler that is being invoked, and mpicxx -show For MPICH this will show you the complete compilation command flags that it adds. I don’t know if the ‘-show’ switch also works in openmpi, but there is likely something equivalent. Everything you are linking together will have to use the same mpi libraries, either openmpi or MPICH. If you have both installed (one at the system level and one in a local directory) it is very easy to get them crossed, so that, for example, boost was compiled using one, and then you can’t link with Repast if it was compiled using the other. If you are working on a system that may have versions of openmpi, boost, or other software you need already installed, you should find out from your system admin the preferred way to link to the installed versions. (For MPI, for example, an installed version can be customized to be optimal for the hardware on that particular system; installing your own version misses out on this optimization.) Hope this helps- Best, John John T. Murphy Computational Social Scientist Argonne National Laboratory & University of Chicago Computation Institute jtm...@an...<mailto:jtm...@an...> 630-252-3453 From: Bilge Kaan Gorur <bka...@gm...> Date: Saturday, September 16, 2017 at 7:43 AM To: Nick Collier <nic...@gm...> Cc: "Murphy, John T." <jtm...@an...>, "rep...@li..." <rep...@li...> Subject: Re: [Repast-interest] Repast HPC installation problem Hello again, I have tried to recompile everything using OpenMPI packages, instead of MPICH. Now, I am getting this error durink linking: /usr/bin/ld: cannot find -lmpi_cxx collect2: ld returned 1 exit status I do not know what the "mpi_cxx" is, but I found these mpi_cxx libraries somewhere in the HPC: /usr/mpi/gcc/openmpi-1.6.5/lib64/libmpi_cxx.la<http://libmpi_cxx.la> /usr/mpi/gcc/openmpi-1.6.5/lib64/libmpi_cxx.so /usr/mpi/gcc/openmpi-1.6.5/lib64/libmpi_cxx.so.1 /usr/mpi/gcc/openmpi-1.6.5/lib64/libmpi_cxx.so.1.0.2 So I tried to link the Demo04 code with this command: mpicxx -static -L../ext/Boost/Boost_1.54/lib/ -L/usr/mpi/gcc/openmpi-1.6.5/lib64/ -o step4.exe step4.o -lmpi_cxx -lboost_mpi-mt-s Unfortunately, the result is the same. I have also tried to compile with OpenMPI_1.8.8-gcc, but it is the same, too. 2017-09-14 22:49 GMT+03:00 Nick Collier <nic...@gm...<mailto:nic...@gm...>>: It looks like there’s a mix of MPI versions going on. I think the ompi refers to openmpi, but you are compiling the demo code with MPICH. I think the boost libraries were probably compiled with openmpi as they are looking for that version. I suspect that the HPC machine loads openmpi by default or something like that. Its probably best to just recompile everything on the HPC machine without using MPICH and use the MPI already installed on the HPC machine. mpicxx etc. should point to that one. Nick On Sep 14, 2017, at 3:06 PM, Bilge Kaan Gorur <bka...@gm...<mailto:bka...@gm...>> wrote: Thank you very much for your response. I have just tried to compile boost with all libraries, but it does not work neither. I built boost libraries by using install.sh script that comes with Repast HPC. That is why I had included only those libraries of boost. By the way, I am confused with another thing. Undefined reference errors point to some "ompi_mpi_..." things. Do they refer to somethings in Open MPI? I am trying to use Repast HPC with MPICH that also comes with Repast HPC, but OpenMPI is already installed in the HPC system. Therefore, I suspect if Boost used OpenMPI during the build operations instead of MPICH. Actually the HPC system that I used is module based and a module is not loaded until the user activates it. I did not activate any of the MPI modules, so Boost library should see only MPICH. But I still suspect if there is a conflict between Boost and MPI versions because of those "ompi_mpi..." errors. Best regards, -- Bilge Kaan Gorur 2017-09-14 3:45 GMT+03:00 Murphy, John T. <jtm...@an...<mailto:jtm...@an...>>: Hello, Undefined references always mean that the linker can’t find the appropriate code in the libraries that it’s looking in. My first guess is that you need to list all of the boost libraries with the –l switch. You give your command as: ../ext/MPICH/bin/mpicxx -L../ext/Boost/Boost_1.54/lib -L../lib/ -o step4.exe step4.o -lrepast_hpc-2.0 -lboost_mpi-mt-s You might need to add the others, like: ../ext/MPICH/bin/mpicxx -L../ext/Boost/Boost_1.54/lib -L../lib/ -o step4.exe step4.o -lrepast_hpc-2.0 -lboost_mpi-mt-s –lboost_filesystem-mt-s –lboost_serialization-mt-s –lboost_system-mt-s … (all of them) If that doesn’t work we can start to look at other issues (Boost versions, static vs. dynamic linking, etc.) Best, John John T. Murphy Computational Social Scientist Argonne National Laboratory & University of Chicago Computation Institute jtm...@an...<mailto:jtm...@an...> 630-252-3453<tel:(630)%20252-3453> From: Bilge Kaan Gorur <bka...@gm...<mailto:bka...@gm...>> Date: Wednesday, September 13, 2017 at 3:18 PM To: "rep...@li...<mailto:rep...@li...>" <rep...@li...<mailto:rep...@li...>> Subject: [Repast-interest] Repast HPC installation problem Hello all, I have a problem at Repast HPC 2.0 installation on an HPC machine. Although, I could install it on my PC, I cannot do the same in that HPC machine. It looks like my installation cannot recognize boost-mpi library. Actually, I could install mpich, netcdf, curl and boost libraries. After the installation of boost it says that boost-mpi, boost-filesystem, boost-serialization, boost-wserialization and boost-system libraries have been installed successfully. I can also see those libraries under $BASE_DIR/ext/Boost/Boost_1.54/lib. However, when I try to compile and link Demo00 - Step 4, with these commands: ../ext/MPICH/bin/mpicxx -I../ext/Boost/Boost_1.54/include -I../include/ -c step4.cpp step4.o ../ext/MPICH/bin/mpicxx -L../ext/Boost/Boost_1.54/lib -L../lib/ -o step4.exe step4.o -lrepast_hpc-2.0 -lboost_mpi-mt-s I'm getting this error: ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::operator ompi_communicator_t*() const': communicator.cpp:(.text+0x4): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::request boost::mpi::communicator::isend<boost::mpi::packed_oarchive>(int, int, boost::mpi::packed_oarchive const&) const': communicator.cpp:(.text+0x85): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::status boost::mpi::communicator::recv<boost::mpi::packed_iarchive>(int, int, boost::mpi::packed_iarchive&) const': communicator.cpp:(.text+0xef): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `void boost::mpi::communicator::send<boost::mpi::packed_oarchive>(int, int, boost::mpi::packed_oarchive const&) const': communicator.cpp:(.text+0x124): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `void boost::mpi::communicator::send<boost::mpi::packed_skeleton_oarchive>(int, int, boost::mpi::packed_skeleton_oarchive const&) const': communicator.cpp:(.text+0x148): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o):communicator.cpp:(.text+0x16f): more undefined references to `ompi_mpi_comm_null' follow ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::recv(int, int) const': communicator.cpp:(.text+0x63a): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::send(int, int) const': communicator.cpp:(.text+0x698): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0x6b0): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::rank() const': communicator.cpp:(.text+0x709): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::size() const': communicator.cpp:(.text+0x779): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::irecv(int, int) const': communicator.cpp:(.text+0x86e): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0x880): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::request boost::mpi::communicator::irecv<boost::mpi::content const>(int, int, boost::mpi::content const&) const': communicator.cpp:(.text+0x936): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::isend(int, int) const': communicator.cpp:(.text+0x9fe): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0xa10): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::request boost::mpi::communicator::isend<boost::mpi::content>(int, int, boost::mpi::content const&) const': communicator.cpp:(.text+0xac6): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::group() const': communicator.cpp:(.text+0xb75): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `_ZN5boost3mpi12communicatorC2ERKP19ompi_communicator_tNS0_16comm_create_kindE.clone.0': communicator.cpp:(.text+0xbf1): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::split(int, int) const': communicator.cpp:(.text+0xc6a): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::split(int) const': communicator.cpp:(.text+0xcf0): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o):communicator.cpp:(.text+0xd13): more undefined references to `ompi_mpi_comm_null' follow ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::communicator()': communicator.cpp:(.text+0xdf7): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::as_graph_communicator() const': communicator.cpp:(.text+0xf60): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0xfbb): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::communicator(boost::mpi::communicator const&, boost::mpi::group const&)': communicator.cpp:(.text+0x10b6): undefined reference to `ompi_mpi_group_empty' communicator.cpp:(.text+0x10e1): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::as_intercommunicator() const': communicator.cpp:(.text+0x1252): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0x12bf): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::communicator::communicator(ompi_communicator_t* const&, boost::mpi::comm_create_kind)': communicator.cpp:(.text+0x1556): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text+0x162a): undefined reference to `ompi_mpi_errors_return' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Cartcomm::Clone() const': communicator.cpp:(.text._ZNK3MPI8Cartcomm5CloneEv[MPI::Cartcomm::Clone() const]+0x24): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI8Cartcomm5CloneEv[MPI::Cartcomm::Clone() const]+0x53): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI8Cartcomm5CloneEv[MPI::Cartcomm::Clone() const]+0x6e): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Graphcomm::Clone() const': communicator.cpp:(.text._ZNK3MPI9Graphcomm5CloneEv[MPI::Graphcomm::Clone() const]+0x24): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Graphcomm5CloneEv[MPI::Graphcomm::Clone() const]+0x53): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Graphcomm5CloneEv[MPI::Graphcomm::Clone() const]+0x6e): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intercomm::Merge(bool) const': communicator.cpp:(.text._ZNK3MPI9Intercomm5MergeEb[MPI::Intercomm::Merge(bool) const]+0x26): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intercomm5MergeEb[MPI::Intercomm::Merge(bool) const]+0x4e): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intercomm5MergeEb[MPI::Intercomm::Merge(bool) const]+0x67): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)': communicator.cpp:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)]+0x1f): undefined reference to `ompi_mpi_cxx_op_intercept' communicator.cpp:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)]+0x3e): undefined reference to `ompi_op_set_cxx_callback' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intracomm::Create_graph(int, int const*, int const*, bool) const': communicator.cpp:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[MPI::Intracomm::Create_graph(int, int const*, int const*, bool) const]+0x27): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[MPI::Intracomm::Create_graph(int, int const*, int const*, bool) const]+0x53): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[MPI::Intracomm::Create_graph(int, int const*, int const*, bool) const]+0x6e): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) const': communicator.cpp:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) const]+0x87): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) const]+0xb5): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intracomm11Create_cartEiPKiPKbb[MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) const]+0xd0): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Cartcomm::Sub(bool const*) const': communicator.cpp:(.text._ZNK3MPI8Cartcomm3SubEPKb[MPI::Cartcomm::Sub(bool const*) const]+0x7b): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI8Cartcomm3SubEPKb[MPI::Cartcomm::Sub(bool const*) const]+0xa8): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI8Cartcomm3SubEPKb[MPI::Cartcomm::Sub(bool const*) const]+0xc3): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intracomm::Clone() const': communicator.cpp:(.text._ZNK3MPI9Intracomm5CloneEv[MPI::Intracomm::Clone() const]+0x27): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intracomm5CloneEv[MPI::Intracomm::Clone() const]+0x51): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intracomm5CloneEv[MPI::Intracomm::Clone() const]+0x69): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intracomm::Split(int, int) const': communicator.cpp:(.text._ZNK3MPI9Intracomm5SplitEii[MPI::Intracomm::Split(int, int) const]+0x24): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intracomm5SplitEii[MPI::Intracomm::Split(int, int) const]+0x4e): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intracomm5SplitEii[MPI::Intracomm::Split(int, int) const]+0x67): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `MPI::Intracomm::Create(MPI::Group const&) const': communicator.cpp:(.text._ZNK3MPI9Intracomm6CreateERKNS_5GroupE[MPI::Intracomm::Create(MPI::Group const&) const]+0x27): undefined reference to `MPI::Comm::Comm()' communicator.cpp:(.text._ZNK3MPI9Intracomm6CreateERKNS_5GroupE[MPI::Intracomm::Create(MPI::Group const&) const]+0x4f): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK3MPI9Intracomm6CreateERKNS_5GroupE[MPI::Intracomm::Create(MPI::Group const&) const]+0x68): undefined reference to `ompi_mpi_comm_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `std::vector<char, boost::mpi::allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, boost::mpi::allocator<char> > >, unsigned long, char const&)': communicator.cpp:(.text._ZNSt6vectorIcN5boost3mpi9allocatorIcEEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmRKc[std::vector<char, boost::mpi::allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, boost::mpi::allocator<char> > >, unsigned long, char const&)]+0x76): undefined reference to `ompi_mpi_info_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)': communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x53): undefined reference to `ompi_request_null' communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x124): undefined reference to `ompi_request_null' communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x1d2): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x203): undefined reference to `ompi_mpi_packed' communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x363): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZN5boost3mpi7request23handle_serialized_irecvINS0_15packed_iarchiveEEENS_8optionalINS0_6statusEEEPS1_NS1_14request_actionE[boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv<boost::mpi::packed_iarchive>(boost::mpi::request*, boost::mpi::request::request_action)]+0x394): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(communicator.o): In function `boost::mpi::request boost::mpi::communicator::irecv_impl<boost::mpi::packed_iarchive>(int, int, boost::mpi::packed_iarchive&, mpl_::bool_<false>) const': communicator.cpp:(.text._ZNK5boost3mpi12communicator10irecv_implINS0_15packed_iarchiveEEENS0_7requestEiiRT_N4mpl_5bool_ILb0EEE[boost::mpi::request boost::mpi::communicator::irecv_impl<boost::mpi::packed_iarchive>(int, int, boost::mpi::packed_iarchive&, mpl_::bool_<false>) const]+0x11e): undefined reference to `ompi_mpi_comm_null' communicator.cpp:(.text._ZNK5boost3mpi12communicator10irecv_implINS0_15packed_iarchiveEEENS0_7requestEiiRT_N4mpl_5bool_ILb0EEE[boost::mpi::request boost::mpi::communicator::irecv_impl<boost::mpi::packed_iarchive>(int, int, boost::mpi::packed_iarchive&, mpl_::bool_<false>) const]+0x135): undefined reference to `ompi_mpi_unsigned_long' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::io_rank()': environment.cpp:(.text+0xda): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::host_rank()': environment.cpp:(.text+0x17a): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::max_tag()': environment.cpp:(.text+0x214): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::abort(int)': environment.cpp:(.text+0x2e4): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::collectives_tag()': environment.cpp:(.text+0x3a4): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::environment(int&, char**&, bool)': environment.cpp:(.text+0x45b): undefined reference to `ompi_mpi_errors_return' environment.cpp:(.text+0x460): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::environment(bool)': environment.cpp:(.text+0x518): undefined reference to `ompi_mpi_errors_return' environment.cpp:(.text+0x51d): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(environment.o): In function `boost::mpi::environment::~environment()': environment.cpp:(.text+0x5d5): undefined reference to `ompi_mpi_comm_world' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(group.o): In function `int* boost::mpi::group::translate_ranks<int*, int*>(int*, int*, boost::mpi::group const&, int*)': group.cpp:(.text+0x12d): undefined reference to `ompi_mpi_group_empty' group.cpp:(.text+0x140): undefined reference to `ompi_mpi_group_empty' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(group.o): In function `boost::mpi::operator==(boost::mpi::group const&, boost::mpi::group const&)': group.cpp:(.text+0x1a9): undefined reference to `ompi_mpi_group_empty' group.cpp:(.text+0x1b9): undefined reference to `ompi_mpi_group_empty' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(group.o): In function `boost::mpi::group::group(ompi_group_t* const&, bool)': group.cpp:(.text+0x231): undefined reference to `ompi_mpi_group_empty' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(group.o):group.cpp:(.text+0x499): more undefined references to `ompi_mpi_group_empty' follow ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(mpi_datatype_cache.o): In function `boost::mpi::detail::mpi_datatype_map::get(std::type_info const*)': mpi_datatype_cache.cpp:(.text+0x1a6): undefined reference to `ompi_mpi_datatype_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(point_to_point.o): In function `boost::mpi::detail::packed_archive_recv(ompi_communicator_t*, int, int, boost::mpi::packed_iarchive&, ompi_status_public_t&)': point_to_point.cpp:(.text+0x58): undefined reference to `ompi_mpi_unsigned_long' point_to_point.cpp:(.text+0x9d): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(point_to_point.o): In function `boost::mpi::detail::packed_archive_isend(ompi_communicator_t*, int, int, boost::mpi::packed_iarchive const&, ompi_request_t**, int)': point_to_point.cpp:(.text+0x16f): undefined reference to `ompi_mpi_unsigned_long' point_to_point.cpp:(.text+0x1a0): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(point_to_point.o): In function `boost::mpi::detail::packed_archive_isend(ompi_communicator_t*, int, int, boost::mpi::packed_oarchive const&, ompi_request_t**, int)': point_to_point.cpp:(.text+0x26f): undefined reference to `ompi_mpi_unsigned_long' point_to_point.cpp:(.text+0x2a0): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(point_to_point.o): In function `boost::mpi::detail::packed_archive_send(ompi_communicator_t*, int, int, boost::mpi::packed_oarchive const&)': point_to_point.cpp:(.text+0x36a): undefined reference to `ompi_mpi_unsigned_long' point_to_point.cpp:(.text+0x390): undefined reference to `ompi_mpi_packed' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(request.o): In function `boost::mpi::request::request()': request.cpp:(.text+0x1b): undefined reference to `ompi_request_null' request.cpp:(.text+0x23): undefined reference to `ompi_request_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(request.o): In function `boost::mpi::request::cancel()': request.cpp:(.text+0xbf): undefined reference to `ompi_request_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(request.o): In function `boost::mpi::request::test()': request.cpp:(.text+0x16c): undefined reference to `ompi_request_null' ../ext/Boost/Boost_1.54/lib//libboost_mpi-mt-s.a(request.o): In function `boost::mpi::request::wait()': request.cpp:(.text+0x374): undefined reference to `ompi_request_null' collect2: ld returned 1 exit status I could not figure out where the problem is. Is there any suggestion for that? Thanks in advance. -- B. Kaan Gorur ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org<http://Slashdot.org>! http://sdm.link/slashdot_______________________________________________ Repast-interest mailing list Rep...@li...<mailto:Rep...@li...> https://lists.sourceforge.net/lists/listinfo/repast-interest |