Boost logo

Boost Users :

Subject: Re: [Boost-users] BGL - parallel/distributed
From: Ondrej Sluciak (ondrej.sluciak_at_[hidden])
Date: 2009-11-10 05:17:51


You are right, that was what I was missing. Thank you. Anyway, no I can
compile it and run it, but the program always exits at the line Graph
g(4) with exit code 0x1. It quits in the inizialization of
mpi_process_group::impl::impl(std::size_t num_headers, std::size_t
buffer_sz, communicator_type parent_comm)
  : comm(parent_comm, boost::mpi::comm_duplicate),
    oob_reply_comm(parent_comm, boost::mpi::comm_duplicate),
    allocated_tags(boost::mpi::environment::max_tag())

exactly in libs/mpi/src/communicator.cpp
communicator::communicator(const ...) on the line
BOOST_MPI_CHECK_RESULT(MPI_Comm_dup, (comm, &newcomm));

It doesn't crash or anything, just exits the code "normally" with exit
code 1.
Do you have any idea what is wrong?

Jeremiah Willcock wrote:
> On Mon, 9 Nov 2009, Ondrej Sluciak wrote:
>
>> Ok, I tried the simplest possible example, but just didn't figure out
>> where the problem is. I am on windows, mpich2 installed, all boost
>> libs correctly compiled with mpi, but if I do something like
>>
>> #include <boost/graph/use_mpi.hpp>
>> #include <boost/graph/distributed/selector.hpp>
>> #include <boost/graph/distributed/adjacency_list.hpp>
>> #include <boost/graph/distributed/mpi_process_group.hpp>
>>
>> void main(){
>> using namespace boost;
>> typedef
>> adjacency_list<vecS,distributedS<graph::distributed::mpi_process_group,
>> vecS>, directedS> Graph;
>>
>> Graph g(4);
>>
>> };
>>
>> I always get linking problems like:
>> Error 7 error LNK2019: unresolved external symbol "void __cdecl
>> boost::graph::distributed::synchronize(class
>> boost::graph::distributed::mpi_process_group const &)"
>> (?synchronize_at_distributed@graph_at_boost@@YAXABVmpi_process_group_at_123@@Z)
>> referenced in function "public: __thiscall
>> boost::adjacency_list<struct boost::vecS,struct
>> boost::distributedS<class
>> boost::graph::distributed::mpi_process_group,struct
>> boost::vecS,struct boost::defaultS>,struct boost::directedS,struct
>> boost::no_property,struct boost::no_property,struct
>> boost::no_property,struct boost::listS>::~adjacency_list<struct
>> boost::vecS,struct boost::distributedS<class
>> boost::graph::distributed::mpi_process_group,struct
>> boost::vecS,struct boost::defaultS>,struct boost::directedS,struct
>> boost::no_property,struct boost::no_property,struct
>> boost::no_property,struct boost::listS>(void)"
>> (??1?$adjacency_list_at_UvecS@boost@@U?$distributedS_at_Vmpi_process_group_at_distributed@graph_at_boost@@UvecS_at_4@UdefaultS_at_4@@2_at_UdirectedS@2_at_Uno_property_at_2@U52_at_U52@UlistS_at_2@@boost@@QAE_at_XZ)
>> boostTest2.obj
>>
>> I think I have included all the necessary libs (including mpi.lib
>> from mpich directory), so I still don't understand where is the
>> problem. Does anyone tried distributed graph class?
>
> Are you also including the graph_parallel library?
> Boost.Graph.Parallel is not header-only, unlike almost all of the
> sequential Boost.Graph library.
>
> -- Jeremiah Willcock
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>

-- 
Dipl.-Ing. Ondrej Sluciak
Room CG-04-06
Vienna University of Technology, Austria
Institute of Communications and Radio-Frequency Engineering
Gusshausstrasse 25-29/389
http://www.nt.tuwien.ac.at

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net