Cannot Compile Examples

Good day,

I am installing CUDA in order to use GROMACS-GPU for my research, which entails installing OpenMM, which in turns requires CUDA.

I have run the installation programs for the toolkit, drivers, and sdk. I am at the step where we are asked to compile the examples by going to

/Developers/GPU Computing/C

I then typed

make

as requested.

The following error was produced:

ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** […/…/bin/darwin/release/simpleMPI] Error 1
make: *** [src/simpleMPI/Makefile.ph_build] Error 2

Is anyone able to help? I would be very much appreciative!

Best,

Solomon

Here is more lines that preceded the error, for those interested:

make -C src/scan/
In file included from main.cpp:26:
/usr/local/cuda/include/cuda_runtime.h:148: warning: unused parameter ‘flags’
make -C src/simpleAtomicIntrinsics/
make -C src/simpleCUBLAS/
make -C src/simpleCUFFT/
make -C src/simpleGL/
In file included from simpleGL.cpp:49:
/usr/local/cuda/include/cuda_runtime.h:148: warning: unused parameter ‘flags’
make -C src/simpleMPI/
In file included from /sw/include/openmpi/ompi/mpi/cxx/mpicxx.h:288,
from /sw/include/mpi.h:1886,
from simpleMPI.cpp:31:
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘oldcomm’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘comm_keyval’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘extra_state’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘attribute_val_in’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘attribute_val_out’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘comm’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘comm_keyval’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘attribute_val’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘extra_state’
ld: warning: in /sw/lib/openmpi/libmpi_cxx.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libmpi.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libopen-rte.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libopen-pal.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
“_MPI_Graphdims_get”, referenced from:
MPI::Graphcomm::Get_dims(int*, int*) constin simpleMPI.cpp.o
“_MPI_Win_set_name”, referenced from:
MPI::Win::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Type_commit”, referenced from:
MPI::Datatype::Commit() in simpleMPI.cpp.o
“_MPI_Info_set”, referenced from:
MPI::Info::Set(char const*, char const*)in simpleMPI.cpp.o
“_MPI_Group_size”, referenced from:
MPI::Group::Get_size() constin simpleMPI.cpp.o
“_MPI_Type_create_subarray”, referenced from:
MPI::Datatype::Create_subarray(int, int const*, int const*, int const*, int) constin simpleMPI.cpp.o
“_MPI_Type_get_name”, referenced from:
MPI::Datatype::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Cart_shift”, referenced from:
MPI::Cartcomm::Shift(int, int, int&, int&) constin simpleMPI.cpp.o
“_MPI_Get_elements”, referenced from:
MPI::Status::Get_elements(MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Comm_set_errhandler”, referenced from:
MPI::Comm::Set_errhandler(MPI::Errhandler const&) constin simpleMPI.cpp.o
“_ompi_op_set_cxx_callback”, referenced from:
MPI::op::Init(void ()(void const, void*, int, MPI::Datatype const&), bool)in simpleMPI.cpp.o
“_MPI_Group_free”, referenced from:
MPI::Group::Free() in simpleMPI.cpp.o
“_MPI_Recv”, referenced from:
MPI::Comm::Recv(void*, int, MPI::Datatype const&, int, int, MPI::Status&) constin simpleMPI.cpp.o
MPI::Comm::Recv(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Send_init”, referenced from:
MPI::Comm::Send_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Initialized”, referenced from:
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Comm_remote_group”, referenced from:
MPI::Intercomm::Get_remote_group() constin simpleMPI.cpp.o
“_MPI_Group_excl”, referenced from:
MPI::Group::Excl(int, int const*) constin simpleMPI.cpp.o
“_MPI_Grequest_complete”, referenced from:
MPI::Grequest::Complete() in simpleMPI.cpp.o
“_MPI_Type_get_true_extent”, referenced from:
MPI::Datatype::Get_true_extent(int&, int&) constin simpleMPI.cpp.o
“_MPI_Attr_get”, referenced from:
MPI::Comm::Get_attr(int, void*) constin simpleMPI.cpp.o
“_MPI_Alltoall”, referenced from:
MPI::Comm::Alltoall(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Bcast”, referenced from:
MPI::Comm::Bcast(void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Win_set_errhandler”, referenced from:
MPI::Win::Set_errhandler(MPI::Errhandler const&) constin simpleMPI.cpp.o
“_MPI_Scan”, referenced from:
MPI::Intracomm::Scan(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Type_get_contents”, referenced from:
MPI::Datatype::Get_contents(int, int, int, int*, int*, MPI::Datatype*) constin simpleMPI.cpp.o
“_MPI_Type_size”, referenced from:
MPI::Datatype::Get_size() constin simpleMPI.cpp.o
“_MPI_Type_dup”, referenced from:
MPI::Datatype::Dup() constin simpleMPI.cpp.o
“_MPI_Type_set_name”, referenced from:
MPI::Datatype::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Intercomm_merge”, referenced from:
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
“_MPI_Win_lock”, referenced from:
MPI::Win::Lock(int, int, int) constin simpleMPI.cpp.o
“_MPI_Scatter”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Scatter(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Comm_dup”, referenced from:
MPI::Intercomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
“_MPI_Allgatherv”, referenced from:
MPI::Comm::Allgatherv(void const*, int, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Comm_get_name”, referenced from:
MPI::Comm::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Gather”, referenced from:
MPI::Comm::Gather(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Cart_sub”, referenced from:
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Put”, referenced from:
MPI::Win::Put(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Scatterv”, referenced from:
MPI::Comm::Scatterv(void const*, int const*, int const*, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Graph_get”, referenced from:
MPI::Graphcomm::Get_topo(int, int, int*, int*) constin simpleMPI.cpp.o
“_MPI_Sendrecv”, referenced from:
MPI::Comm::Sendrecv(void const*, int, MPI::Datatype const&, int, int, void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
MPI::Comm::Sendrecv(void const*, int, MPI::Datatype const&, int, int, void*, int, MPI::Datatype const&, int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Send”, referenced from:
MPI::Comm::Send(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Probe”, referenced from:
MPI::Comm::Probe(int, int) constin simpleMPI.cpp.o
MPI::Comm::Probe(int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Type_contiguous”, referenced from:
MPI::Datatype::Create_contiguous(int) constin simpleMPI.cpp.o
“_MPI_Win_test”, referenced from:
MPI::Win::Test() constin simpleMPI.cpp.o
“_MPI_Irecv”, referenced from:
MPI::Comm::Irecv(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Pack_size”, referenced from:
MPI::Datatype::Pack_size(int, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Op_create”, referenced from:
MPI::op::Init(void ()(void const, void*, int, MPI::Datatype const&), bool)in simpleMPI.cpp.o
“_ompi_mpi_op_sum”, referenced from:
_ompi_mpi_op_sum$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_op_sum$non_lazy_ptr)
“_MPI_Comm_set_name”, referenced from:
MPI::Comm::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Comm_create”, referenced from:
MPI::Intercomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
“_MPI_Allreduce”, referenced from:
MPI::Comm::Allreduce(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Gatherv”, referenced from:
MPI::Comm::Gatherv(void const*, int, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Type_create_hvector”, referenced from:
MPI::Datatype::Create_hvector(int, int, int) constin simpleMPI.cpp.o
“_MPI_Win_unlock”, referenced from:
MPI::Win::Unlock(int) constin simpleMPI.cpp.o
“_MPI_Comm_size”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Get_size() constin simpleMPI.cpp.o
“_MPI_Status_set_cancelled”, referenced from:
MPI::Status::Set_cancelled(bool) in simpleMPI.cpp.o
“_MPI_Bsend_init”, referenced from:
MPI::Comm::Bsend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_get_nkeys”, referenced from:
MPI::Info::Get_nkeys() constin simpleMPI.cpp.o
“_MPI_Win_delete_attr”, referenced from:
MPI::Win::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Ssend_init”, referenced from:
MPI::Comm::Ssend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Iprobe”, referenced from:
MPI::Comm::Iprobe(int, int) constin simpleMPI.cpp.o
MPI::Comm::Iprobe(int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Comm_free”, referenced from:
MPI::Comm::Free() in simpleMPI.cpp.o
“_MPI_Status_set_elements”, referenced from:
MPI::Status::Set_elements(MPI::Datatype const&, int)in simpleMPI.cpp.o
“_MPI_Group_incl”, referenced from:
MPI::Group::Incl(int, int const*) constin simpleMPI.cpp.o
“_MPI_Graph_map”, referenced from:
MPI::Graphcomm::Map(int, int const*, int const*) constin simpleMPI.cpp.o
“_MPI_Cart_coords”, referenced from:
MPI::Cartcomm::Get_coords(int, int, int*) constin simpleMPI.cpp.o
“_MPI_Exscan”, referenced from:
MPI::Intracomm::Exscan(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_ompi_mpi_cxx_op_intercept”, referenced from:
_ompi_mpi_cxx_op_intercept$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_cxx_op_intercept$non_lazy_ptr)
“_MPI_Info_get_nthkey”, referenced from:
MPI::Info::Get_nthkey(int, char*) constin simpleMPI.cpp.o
“_MPI_Info_delete”, referenced from:
MPI::Info::Delete(char const*)in simpleMPI.cpp.o
“_ompi_mpi_comm_world”, referenced from:
_ompi_mpi_comm_world$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_comm_world$non_lazy_ptr)
“_MPI_Type_get_envelope”, referenced from:
MPI::Datatype::Get_envelope(int&, int&, int&, int&) constin simpleMPI.cpp.o
“_ompi_mpi_float”, referenced from:
_ompi_mpi_float$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_float$non_lazy_ptr)
“MPI::Comm::Comm()”, referenced from:
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Test”, referenced from:
MPI::Request::Test() in simpleMPI.cpp.o
MPI::Request::Test(MPI::Status&) in simpleMPI.cpp.o
“_MPI_Isend”, referenced from:
MPI::Comm::Isend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_free”, referenced from:
MPI::Info::Free() in simpleMPI.cpp.o
“_MPI_Comm_spawn”, referenced from:
MPI::Intracomm::Spawn(char const*, char const**, int, MPI::Info const&, int, int*) constin simpleMPI.cpp.o
MPI::Intracomm::Spawn(char const*, char const**, int, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Graph_create”, referenced from:
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
“_MPI_Request_free”, referenced from:
MPI::Request::Free() in simpleMPI.cpp.o
“_MPI_Comm_disconnect”, referenced from:
MPI::Comm::Disconnect() in simpleMPI.cpp.o
“_MPI_Attr_put”, referenced from:
MPI::Comm::Set_attr(int, void const*) constin simpleMPI.cpp.o
“_MPI_Comm_group”, referenced from:
MPI::Comm::Get_group() constin simpleMPI.cpp.o
“_MPI_Group_rank”, referenced from:
MPI::Group::Get_rank() constin simpleMPI.cpp.o
“_ompi_mpi_comm_null”, referenced from:
_ompi_mpi_comm_null$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_comm_null$non_lazy_ptr)
“_MPI_Test_cancelled”, referenced from:
MPI::Status::Is_cancelled() constin simpleMPI.cpp.o
“_MPI_Request_get_status”, referenced from:
MPI::Request::Get_status() constin simpleMPI.cpp.o
MPI::Request::Get_status(MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Win_set_attr”, referenced from:
MPI::Win::Set_attr(int, void const*)in simpleMPI.cpp.o
“_MPI_Get_count”, referenced from:
MPI::Status::Get_count(MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Win_wait”, referenced from:
MPI::Win::Wait() constin simpleMPI.cpp.o
“_MPI_Rsend_init”, referenced from:
MPI::Comm::Rsend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Group_range_excl”, referenced from:
MPI::Group::Range_excl(int, int const () [3]) constin simpleMPI.cpp.o
“_MPI_Pack”, referenced from:
MPI::Datatype::Pack(void const
, int, void*, int, int&, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Allgather”, referenced from:
MPI::Comm::Allgather(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Abort”, referenced from:
_my_abort in simpleMPI.cpp.o
MPI::Comm::Abort(int) in simpleMPI.cpp.o
“_MPI_Graph_neighbors”, referenced from:
MPI::Graphcomm::Get_neighbors(int, int, int*) constin simpleMPI.cpp.o
“_MPI_Cart_rank”, referenced from:
MPI::Cartcomm::Get_cart_rank(int const*) constin simpleMPI.cpp.o
“_MPI_Type_get_attr”, referenced from:
MPI::Datatype::Get_attr(int, void*) constin simpleMPI.cpp.o
“_MPI_Graph_neighbors_count”, referenced from:
MPI::Graphcomm::Get_neighbors_count(int) constin simpleMPI.cpp.o
“_MPI_Info_get”, referenced from:
MPI::Info::Get(char const*, int, char*) constin simpleMPI.cpp.o
“_MPI_Ssend”, referenced from:
MPI::Comm::Ssend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_dup”, referenced from:
MPI::Info::Dup() constin simpleMPI.cpp.o
“MPI::Win::Free()”, referenced from:
vtable for MPI::Winin simpleMPI.cpp.o
“_MPI_Errhandler_free”, referenced from:
MPI::Errhandler::Free() in simpleMPI.cpp.o
“_MPI_Comm_connect”, referenced from:
MPI::Intracomm::Connect(char const*, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Win_start”, referenced from:
MPI::Win::Start(MPI::Group const&, int) constin simpleMPI.cpp.o
“_MPI_Comm_test_inter”, referenced from:
MPI::Comm::Is_inter() constin simpleMPI.cpp.o
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
“_MPI_Finalize”, referenced from:
_main in simpleMPI.cpp.o
“_MPI_Attr_delete”, referenced from:
MPI::Comm::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Comm_get_errhandler”, referenced from:
MPI::Comm::Get_errhandler() constin simpleMPI.cpp.o
“_MPI_Start”, referenced from:
MPI::Prequest::Start() in simpleMPI.cpp.o
“_MPI_Sendrecv_replace”, referenced from:
MPI::Comm::Sendrecv_replace(void*, int, MPI::Datatype const&, int, int, int, int) constin simpleMPI.cpp.o
MPI::Comm::Sendrecv_replace(void*, int, MPI::Datatype const&, int, int, int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Type_set_attr”, referenced from:
MPI::Datatype::Set_attr(int, void const*)in simpleMPI.cpp.o
“_MPI_Type_vector”, referenced from:
MPI::Datatype::Create_vector(int, int, int) constin simpleMPI.cpp.o
“_MPI_Accumulate”, referenced from:
MPI::Win::Accumulate(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Recv_init”, referenced from:
MPI::Comm::Recv_init(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Cart_get”, referenced from:
MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin simpleMPI.cpp.o
MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin simpleMPI.cpp.o
“_MPI_Issend”, referenced from:
MPI::Comm::Issend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“MPI::Datatype::Free()”, referenced from:
vtable for MPI::Datatypein simpleMPI.cpp.o
“_MPI_Win_call_errhandler”, referenced from:
MPI::Win::Call_errhandler(int) constin simpleMPI.cpp.o
“_MPI_Cart_create”, referenced from:
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
“_MPI_Op_free”, referenced from:
MPI::op::Free() in simpleMPI.cpp.o
“_MPI_Unpack”, referenced from:
MPI::Datatype::Unpack(void const*, int, void*, int, int&, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Win_get_errhandler”, referenced from:
MPI::Win::Get_errhandler() constin simpleMPI.cpp.o
“_MPI_Wait”, referenced from:
MPI::Request::Wait() in simpleMPI.cpp.o
MPI::Request::Wait(MPI::Status&) in simpleMPI.cpp.o
“_MPI_Comm_split”, referenced from:
MPI::Intercomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
“_MPI_Barrier”, referenced from:
MPI::Comm::Barrier() constin simpleMPI.cpp.o
“_MPI_Comm_spawn_multiple”, referenced from:
MPI::Intracomm::Spawn_multiple(int, char const**, char const***, int const*, MPI::Info const*, int)in simpleMPI.cpp.o
MPI::Intracomm::Spawn_multiple(int, char const**, char const***, int const*, MPI::Info const*, int, int*)in simpleMPI.cpp.o
“_MPI_Bsend”, referenced from:
MPI::Comm::Bsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Rsend”, referenced from:
MPI::Comm::Rsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Intercomm_create”, referenced from:
MPI::Intracomm::Create_intercomm(int, MPI::Comm const&, int, int) constin simpleMPI.cpp.o
“_MPI_Comm_accept”, referenced from:
MPI::Intracomm::Accept(char const*, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Cancel”, referenced from:
MPI::Request::Cancel() constin simpleMPI.cpp.o
“_MPI_Cartdim_get”, referenced from:
MPI::Cartcomm::Get_dim() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Type_get_extent”, referenced from:
MPI::Datatype::Get_extent(int&, int&) constin simpleMPI.cpp.o
“_MPI_Get”, referenced from:
MPI::Win::Get(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Type_create_indexed_block”, referenced from:
MPI::Datatype::Create_indexed_block(int, int, int const*) constin simpleMPI.cpp.o
“_MPI_Topo_test”, referenced from:
MPI::Comm::Get_topology() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Comm_rank”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Get_rank() constin simpleMPI.cpp.o
“_MPI_Type_delete_attr”, referenced from:
MPI::Datatype::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Comm_remote_size”, referenced from:
MPI::Intercomm::Get_remote_size() constin simpleMPI.cpp.o
“_MPI_Win_get_name”, referenced from:
MPI::Win::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Type_indexed”, referenced from:
MPI::Datatype::Create_indexed(int, int const*, int const*) constin simpleMPI.cpp.o
“_MPI_Alltoallv”, referenced from:
MPI::Comm::Alltoallv(void const*, int const*, int const*, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Win_get_group”, referenced from:
MPI::Win::Get_group() constin simpleMPI.cpp.o
“_MPI_Alltoallw”, referenced from:
MPI::Comm::Alltoallw(void const*, int const*, int const*, MPI::Datatype const*, void*, int const*, int const*, MPI::Datatype const*) constin simpleMPI.cpp.o
“_MPI_Group_range_incl”, referenced from:
MPI::Group::Range_incl(int, int const () [3]) constin simpleMPI.cpp.o
“_MPI_Reduce_scatter”, referenced from:
MPI::Comm::Reduce_scatter(void const
, void*, int*, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Cart_map”, referenced from:
MPI::Cartcomm::Map(int, int const*, bool const*) constin simpleMPI.cpp.o
“_MPI_Type_create_resized”, referenced from:
MPI::Datatype::Create_resized(int, int) constin simpleMPI.cpp.o
“_MPI_Win_complete”, referenced from:
MPI::Win::Complete() constin simpleMPI.cpp.o
“_MPI_Init”, referenced from:
_main in simpleMPI.cpp.o
“_MPI_Ibsend”, referenced from:
MPI::Comm::Ibsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Irsend”, referenced from:
MPI::Comm::Irsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Win_post”, referenced from:
MPI::Win::Post(MPI::Group const&, int) constin simpleMPI.cpp.o
“_MPI_Win_fence”, referenced from:
MPI::Win::Fence(int) constin simpleMPI.cpp.o
“_MPI_Reduce”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Reduce(void const*, void*, int, MPI::Datatype const&, MPI::op const&, int) constin simpleMPI.cpp.o
“_MPI_Info_get_valuelen”, referenced from:
MPI::Info::Get_valuelen(char const*, int&) constin simpleMPI.cpp.o
“_MPI_Type_create_hindexed”, referenced from:
MPI::Datatype::Create_hindexed(int, int const*, int const*) constin simpleMPI.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** […/…/bin/darwin/release/simpleMPI] Error 1
make: *** [src/simpleMPI/Makefile.ph_build] Error 2

Good day,

I am installing CUDA in order to use GROMACS-GPU for my research, which entails installing OpenMM, which in turns requires CUDA.

I have run the installation programs for the toolkit, drivers, and sdk. I am at the step where we are asked to compile the examples by going to

/Developers/GPU Computing/C

I then typed

make

as requested.

The following error was produced:

ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** […/…/bin/darwin/release/simpleMPI] Error 1
make: *** [src/simpleMPI/Makefile.ph_build] Error 2

Is anyone able to help? I would be very much appreciative!

Best,

Solomon

Here is more lines that preceded the error, for those interested:

make -C src/scan/
In file included from main.cpp:26:
/usr/local/cuda/include/cuda_runtime.h:148: warning: unused parameter ‘flags’
make -C src/simpleAtomicIntrinsics/
make -C src/simpleCUBLAS/
make -C src/simpleCUFFT/
make -C src/simpleGL/
In file included from simpleGL.cpp:49:
/usr/local/cuda/include/cuda_runtime.h:148: warning: unused parameter ‘flags’
make -C src/simpleMPI/
In file included from /sw/include/openmpi/ompi/mpi/cxx/mpicxx.h:288,
from /sw/include/mpi.h:1886,
from simpleMPI.cpp:31:
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘oldcomm’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘comm_keyval’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘extra_state’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘attribute_val_in’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:646: warning: unused parameter ‘attribute_val_out’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘comm’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘comm_keyval’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘attribute_val’
/sw/include/openmpi/ompi/mpi/cxx/comm_inln.h:672: warning: unused parameter ‘extra_state’
ld: warning: in /sw/lib/openmpi/libmpi_cxx.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libmpi.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libopen-rte.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
ld: warning: in /sw/lib/openmpi/libopen-pal.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
“_MPI_Graphdims_get”, referenced from:
MPI::Graphcomm::Get_dims(int*, int*) constin simpleMPI.cpp.o
“_MPI_Win_set_name”, referenced from:
MPI::Win::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Type_commit”, referenced from:
MPI::Datatype::Commit() in simpleMPI.cpp.o
“_MPI_Info_set”, referenced from:
MPI::Info::Set(char const*, char const*)in simpleMPI.cpp.o
“_MPI_Group_size”, referenced from:
MPI::Group::Get_size() constin simpleMPI.cpp.o
“_MPI_Type_create_subarray”, referenced from:
MPI::Datatype::Create_subarray(int, int const*, int const*, int const*, int) constin simpleMPI.cpp.o
“_MPI_Type_get_name”, referenced from:
MPI::Datatype::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Cart_shift”, referenced from:
MPI::Cartcomm::Shift(int, int, int&, int&) constin simpleMPI.cpp.o
“_MPI_Get_elements”, referenced from:
MPI::Status::Get_elements(MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Comm_set_errhandler”, referenced from:
MPI::Comm::Set_errhandler(MPI::Errhandler const&) constin simpleMPI.cpp.o
“_ompi_op_set_cxx_callback”, referenced from:
MPI::op::Init(void ()(void const, void*, int, MPI::Datatype const&), bool)in simpleMPI.cpp.o
“_MPI_Group_free”, referenced from:
MPI::Group::Free() in simpleMPI.cpp.o
“_MPI_Recv”, referenced from:
MPI::Comm::Recv(void*, int, MPI::Datatype const&, int, int, MPI::Status&) constin simpleMPI.cpp.o
MPI::Comm::Recv(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Send_init”, referenced from:
MPI::Comm::Send_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Initialized”, referenced from:
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Comm_remote_group”, referenced from:
MPI::Intercomm::Get_remote_group() constin simpleMPI.cpp.o
“_MPI_Group_excl”, referenced from:
MPI::Group::Excl(int, int const*) constin simpleMPI.cpp.o
“_MPI_Grequest_complete”, referenced from:
MPI::Grequest::Complete() in simpleMPI.cpp.o
“_MPI_Type_get_true_extent”, referenced from:
MPI::Datatype::Get_true_extent(int&, int&) constin simpleMPI.cpp.o
“_MPI_Attr_get”, referenced from:
MPI::Comm::Get_attr(int, void*) constin simpleMPI.cpp.o
“_MPI_Alltoall”, referenced from:
MPI::Comm::Alltoall(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Bcast”, referenced from:
MPI::Comm::Bcast(void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Win_set_errhandler”, referenced from:
MPI::Win::Set_errhandler(MPI::Errhandler const&) constin simpleMPI.cpp.o
“_MPI_Scan”, referenced from:
MPI::Intracomm::Scan(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Type_get_contents”, referenced from:
MPI::Datatype::Get_contents(int, int, int, int*, int*, MPI::Datatype*) constin simpleMPI.cpp.o
“_MPI_Type_size”, referenced from:
MPI::Datatype::Get_size() constin simpleMPI.cpp.o
“_MPI_Type_dup”, referenced from:
MPI::Datatype::Dup() constin simpleMPI.cpp.o
“_MPI_Type_set_name”, referenced from:
MPI::Datatype::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Intercomm_merge”, referenced from:
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
“_MPI_Win_lock”, referenced from:
MPI::Win::Lock(int, int, int) constin simpleMPI.cpp.o
“_MPI_Scatter”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Scatter(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Comm_dup”, referenced from:
MPI::Intercomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
“_MPI_Allgatherv”, referenced from:
MPI::Comm::Allgatherv(void const*, int, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Comm_get_name”, referenced from:
MPI::Comm::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Gather”, referenced from:
MPI::Comm::Gather(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Cart_sub”, referenced from:
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Put”, referenced from:
MPI::Win::Put(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Scatterv”, referenced from:
MPI::Comm::Scatterv(void const*, int const*, int const*, MPI::Datatype const&, void*, int, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Graph_get”, referenced from:
MPI::Graphcomm::Get_topo(int, int, int*, int*) constin simpleMPI.cpp.o
“_MPI_Sendrecv”, referenced from:
MPI::Comm::Sendrecv(void const*, int, MPI::Datatype const&, int, int, void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
MPI::Comm::Sendrecv(void const*, int, MPI::Datatype const&, int, int, void*, int, MPI::Datatype const&, int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Send”, referenced from:
MPI::Comm::Send(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Probe”, referenced from:
MPI::Comm::Probe(int, int) constin simpleMPI.cpp.o
MPI::Comm::Probe(int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Type_contiguous”, referenced from:
MPI::Datatype::Create_contiguous(int) constin simpleMPI.cpp.o
“_MPI_Win_test”, referenced from:
MPI::Win::Test() constin simpleMPI.cpp.o
“_MPI_Irecv”, referenced from:
MPI::Comm::Irecv(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Pack_size”, referenced from:
MPI::Datatype::Pack_size(int, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Op_create”, referenced from:
MPI::op::Init(void ()(void const, void*, int, MPI::Datatype const&), bool)in simpleMPI.cpp.o
“_ompi_mpi_op_sum”, referenced from:
_ompi_mpi_op_sum$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_op_sum$non_lazy_ptr)
“_MPI_Comm_set_name”, referenced from:
MPI::Comm::Set_name(char const*)in simpleMPI.cpp.o
“_MPI_Comm_create”, referenced from:
MPI::Intercomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
“_MPI_Allreduce”, referenced from:
MPI::Comm::Allreduce(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Gatherv”, referenced from:
MPI::Comm::Gatherv(void const*, int, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&, int) constin simpleMPI.cpp.o
“_MPI_Type_create_hvector”, referenced from:
MPI::Datatype::Create_hvector(int, int, int) constin simpleMPI.cpp.o
“_MPI_Win_unlock”, referenced from:
MPI::Win::Unlock(int) constin simpleMPI.cpp.o
“_MPI_Comm_size”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Get_size() constin simpleMPI.cpp.o
“_MPI_Status_set_cancelled”, referenced from:
MPI::Status::Set_cancelled(bool) in simpleMPI.cpp.o
“_MPI_Bsend_init”, referenced from:
MPI::Comm::Bsend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_get_nkeys”, referenced from:
MPI::Info::Get_nkeys() constin simpleMPI.cpp.o
“_MPI_Win_delete_attr”, referenced from:
MPI::Win::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Ssend_init”, referenced from:
MPI::Comm::Ssend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Iprobe”, referenced from:
MPI::Comm::Iprobe(int, int) constin simpleMPI.cpp.o
MPI::Comm::Iprobe(int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Comm_free”, referenced from:
MPI::Comm::Free() in simpleMPI.cpp.o
“_MPI_Status_set_elements”, referenced from:
MPI::Status::Set_elements(MPI::Datatype const&, int)in simpleMPI.cpp.o
“_MPI_Group_incl”, referenced from:
MPI::Group::Incl(int, int const*) constin simpleMPI.cpp.o
“_MPI_Graph_map”, referenced from:
MPI::Graphcomm::Map(int, int const*, int const*) constin simpleMPI.cpp.o
“_MPI_Cart_coords”, referenced from:
MPI::Cartcomm::Get_coords(int, int, int*) constin simpleMPI.cpp.o
“_MPI_Exscan”, referenced from:
MPI::Intracomm::Exscan(void const*, void*, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_ompi_mpi_cxx_op_intercept”, referenced from:
_ompi_mpi_cxx_op_intercept$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_cxx_op_intercept$non_lazy_ptr)
“_MPI_Info_get_nthkey”, referenced from:
MPI::Info::Get_nthkey(int, char*) constin simpleMPI.cpp.o
“_MPI_Info_delete”, referenced from:
MPI::Info::Delete(char const*)in simpleMPI.cpp.o
“_ompi_mpi_comm_world”, referenced from:
_ompi_mpi_comm_world$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_comm_world$non_lazy_ptr)
“_MPI_Type_get_envelope”, referenced from:
MPI::Datatype::Get_envelope(int&, int&, int&, int&) constin simpleMPI.cpp.o
“_ompi_mpi_float”, referenced from:
_ompi_mpi_float$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_float$non_lazy_ptr)
“MPI::Comm::Comm()”, referenced from:
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Test”, referenced from:
MPI::Request::Test() in simpleMPI.cpp.o
MPI::Request::Test(MPI::Status&) in simpleMPI.cpp.o
“_MPI_Isend”, referenced from:
MPI::Comm::Isend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_free”, referenced from:
MPI::Info::Free() in simpleMPI.cpp.o
“_MPI_Comm_spawn”, referenced from:
MPI::Intracomm::Spawn(char const*, char const**, int, MPI::Info const&, int, int*) constin simpleMPI.cpp.o
MPI::Intracomm::Spawn(char const*, char const**, int, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Graph_create”, referenced from:
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
“_MPI_Request_free”, referenced from:
MPI::Request::Free() in simpleMPI.cpp.o
“_MPI_Comm_disconnect”, referenced from:
MPI::Comm::Disconnect() in simpleMPI.cpp.o
“_MPI_Attr_put”, referenced from:
MPI::Comm::Set_attr(int, void const*) constin simpleMPI.cpp.o
“_MPI_Comm_group”, referenced from:
MPI::Comm::Get_group() constin simpleMPI.cpp.o
“_MPI_Group_rank”, referenced from:
MPI::Group::Get_rank() constin simpleMPI.cpp.o
“_ompi_mpi_comm_null”, referenced from:
_ompi_mpi_comm_null$non_lazy_ptr in simpleMPI.cpp.o
(maybe you meant: _ompi_mpi_comm_null$non_lazy_ptr)
“_MPI_Test_cancelled”, referenced from:
MPI::Status::Is_cancelled() constin simpleMPI.cpp.o
“_MPI_Request_get_status”, referenced from:
MPI::Request::Get_status() constin simpleMPI.cpp.o
MPI::Request::Get_status(MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Win_set_attr”, referenced from:
MPI::Win::Set_attr(int, void const*)in simpleMPI.cpp.o
“_MPI_Get_count”, referenced from:
MPI::Status::Get_count(MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Win_wait”, referenced from:
MPI::Win::Wait() constin simpleMPI.cpp.o
“_MPI_Rsend_init”, referenced from:
MPI::Comm::Rsend_init(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Group_range_excl”, referenced from:
MPI::Group::Range_excl(int, int const () [3]) constin simpleMPI.cpp.o
“_MPI_Pack”, referenced from:
MPI::Datatype::Pack(void const
, int, void*, int, int&, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Allgather”, referenced from:
MPI::Comm::Allgather(void const*, int, MPI::Datatype const&, void*, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Abort”, referenced from:
_my_abort in simpleMPI.cpp.o
MPI::Comm::Abort(int) in simpleMPI.cpp.o
“_MPI_Graph_neighbors”, referenced from:
MPI::Graphcomm::Get_neighbors(int, int, int*) constin simpleMPI.cpp.o
“_MPI_Cart_rank”, referenced from:
MPI::Cartcomm::Get_cart_rank(int const*) constin simpleMPI.cpp.o
“_MPI_Type_get_attr”, referenced from:
MPI::Datatype::Get_attr(int, void*) constin simpleMPI.cpp.o
“_MPI_Graph_neighbors_count”, referenced from:
MPI::Graphcomm::Get_neighbors_count(int) constin simpleMPI.cpp.o
“_MPI_Info_get”, referenced from:
MPI::Info::Get(char const*, int, char*) constin simpleMPI.cpp.o
“_MPI_Ssend”, referenced from:
MPI::Comm::Ssend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Info_dup”, referenced from:
MPI::Info::Dup() constin simpleMPI.cpp.o
“MPI::Win::Free()”, referenced from:
vtable for MPI::Winin simpleMPI.cpp.o
“_MPI_Errhandler_free”, referenced from:
MPI::Errhandler::Free() in simpleMPI.cpp.o
“_MPI_Comm_connect”, referenced from:
MPI::Intracomm::Connect(char const*, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Win_start”, referenced from:
MPI::Win::Start(MPI::Group const&, int) constin simpleMPI.cpp.o
“_MPI_Comm_test_inter”, referenced from:
MPI::Comm::Is_inter() constin simpleMPI.cpp.o
MPI::Intracomm::Clone() constin simpleMPI.cpp.o
MPI::Intercomm::Merge(bool)in simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Create(MPI::Group const&) constin simpleMPI.cpp.o
“_MPI_Finalize”, referenced from:
_main in simpleMPI.cpp.o
“_MPI_Attr_delete”, referenced from:
MPI::Comm::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Comm_get_errhandler”, referenced from:
MPI::Comm::Get_errhandler() constin simpleMPI.cpp.o
“_MPI_Start”, referenced from:
MPI::Prequest::Start() in simpleMPI.cpp.o
“_MPI_Sendrecv_replace”, referenced from:
MPI::Comm::Sendrecv_replace(void*, int, MPI::Datatype const&, int, int, int, int) constin simpleMPI.cpp.o
MPI::Comm::Sendrecv_replace(void*, int, MPI::Datatype const&, int, int, int, int, MPI::Status&) constin simpleMPI.cpp.o
“_MPI_Type_set_attr”, referenced from:
MPI::Datatype::Set_attr(int, void const*)in simpleMPI.cpp.o
“_MPI_Type_vector”, referenced from:
MPI::Datatype::Create_vector(int, int, int) constin simpleMPI.cpp.o
“_MPI_Accumulate”, referenced from:
MPI::Win::Accumulate(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Recv_init”, referenced from:
MPI::Comm::Recv_init(void*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Cart_get”, referenced from:
MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin simpleMPI.cpp.o
MPI::Cartcomm::Get_topo(int, int*, bool*, int*) constin simpleMPI.cpp.o
“_MPI_Issend”, referenced from:
MPI::Comm::Issend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“MPI::Datatype::Free()”, referenced from:
vtable for MPI::Datatypein simpleMPI.cpp.o
“_MPI_Win_call_errhandler”, referenced from:
MPI::Win::Call_errhandler(int) constin simpleMPI.cpp.o
“_MPI_Cart_create”, referenced from:
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
“_MPI_Op_free”, referenced from:
MPI::op::Free() in simpleMPI.cpp.o
“_MPI_Unpack”, referenced from:
MPI::Datatype::Unpack(void const*, int, void*, int, int&, MPI::Comm const&) constin simpleMPI.cpp.o
“_MPI_Win_get_errhandler”, referenced from:
MPI::Win::Get_errhandler() constin simpleMPI.cpp.o
“_MPI_Wait”, referenced from:
MPI::Request::Wait() in simpleMPI.cpp.o
MPI::Request::Wait(MPI::Status&) in simpleMPI.cpp.o
“_MPI_Comm_split”, referenced from:
MPI::Intercomm::Split(int, int) constin simpleMPI.cpp.o
MPI::Intracomm::Split(int, int) constin simpleMPI.cpp.o
“_MPI_Barrier”, referenced from:
MPI::Comm::Barrier() constin simpleMPI.cpp.o
“_MPI_Comm_spawn_multiple”, referenced from:
MPI::Intracomm::Spawn_multiple(int, char const**, char const***, int const*, MPI::Info const*, int)in simpleMPI.cpp.o
MPI::Intracomm::Spawn_multiple(int, char const**, char const***, int const*, MPI::Info const*, int, int*)in simpleMPI.cpp.o
“_MPI_Bsend”, referenced from:
MPI::Comm::Bsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Rsend”, referenced from:
MPI::Comm::Rsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Intercomm_create”, referenced from:
MPI::Intracomm::Create_intercomm(int, MPI::Comm const&, int, int) constin simpleMPI.cpp.o
“_MPI_Comm_accept”, referenced from:
MPI::Intracomm::Accept(char const*, MPI::Info const&, int) constin simpleMPI.cpp.o
“_MPI_Cancel”, referenced from:
MPI::Request::Cancel() constin simpleMPI.cpp.o
“_MPI_Cartdim_get”, referenced from:
MPI::Cartcomm::Get_dim() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Type_get_extent”, referenced from:
MPI::Datatype::Get_extent(int&, int&) constin simpleMPI.cpp.o
“_MPI_Get”, referenced from:
MPI::Win::Get(void const*, int, MPI::Datatype const&, int, int, int, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Type_create_indexed_block”, referenced from:
MPI::Datatype::Create_indexed_block(int, int, int const*) constin simpleMPI.cpp.o
“_MPI_Topo_test”, referenced from:
MPI::Comm::Get_topology() constin simpleMPI.cpp.o
MPI::Intracomm::Create_graph(int, int const*, int const*, bool) constin simpleMPI.cpp.o
MPI::Graphcomm::Clone() constin simpleMPI.cpp.o
MPI::Intracomm::Create_cart(int, int const*, bool const*, bool) constin simpleMPI.cpp.o
MPI::Cartcomm::Clone() constin simpleMPI.cpp.o
MPI::Cartcomm::Sub(bool const*)in simpleMPI.cpp.o
“_MPI_Comm_rank”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Get_rank() constin simpleMPI.cpp.o
“_MPI_Type_delete_attr”, referenced from:
MPI::Datatype::Delete_attr(int) in simpleMPI.cpp.o
“_MPI_Comm_remote_size”, referenced from:
MPI::Intercomm::Get_remote_size() constin simpleMPI.cpp.o
“_MPI_Win_get_name”, referenced from:
MPI::Win::Get_name(char*, int&) constin simpleMPI.cpp.o
“_MPI_Type_indexed”, referenced from:
MPI::Datatype::Create_indexed(int, int const*, int const*) constin simpleMPI.cpp.o
“_MPI_Alltoallv”, referenced from:
MPI::Comm::Alltoallv(void const*, int const*, int const*, MPI::Datatype const&, void*, int const*, int const*, MPI::Datatype const&) constin simpleMPI.cpp.o
“_MPI_Win_get_group”, referenced from:
MPI::Win::Get_group() constin simpleMPI.cpp.o
“_MPI_Alltoallw”, referenced from:
MPI::Comm::Alltoallw(void const*, int const*, int const*, MPI::Datatype const*, void*, int const*, int const*, MPI::Datatype const*) constin simpleMPI.cpp.o
“_MPI_Group_range_incl”, referenced from:
MPI::Group::Range_incl(int, int const () [3]) constin simpleMPI.cpp.o
“_MPI_Reduce_scatter”, referenced from:
MPI::Comm::Reduce_scatter(void const
, void*, int*, MPI::Datatype const&, MPI::op const&) constin simpleMPI.cpp.o
“_MPI_Cart_map”, referenced from:
MPI::Cartcomm::Map(int, int const*, bool const*) constin simpleMPI.cpp.o
“_MPI_Type_create_resized”, referenced from:
MPI::Datatype::Create_resized(int, int) constin simpleMPI.cpp.o
“_MPI_Win_complete”, referenced from:
MPI::Win::Complete() constin simpleMPI.cpp.o
“_MPI_Init”, referenced from:
_main in simpleMPI.cpp.o
“_MPI_Ibsend”, referenced from:
MPI::Comm::Ibsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Irsend”, referenced from:
MPI::Comm::Irsend(void const*, int, MPI::Datatype const&, int, int) constin simpleMPI.cpp.o
“_MPI_Win_post”, referenced from:
MPI::Win::Post(MPI::Group const&, int) constin simpleMPI.cpp.o
“_MPI_Win_fence”, referenced from:
MPI::Win::Fence(int) constin simpleMPI.cpp.o
“_MPI_Reduce”, referenced from:
_main in simpleMPI.cpp.o
MPI::Comm::Reduce(void const*, void*, int, MPI::Datatype const&, MPI::op const&, int) constin simpleMPI.cpp.o
“_MPI_Info_get_valuelen”, referenced from:
MPI::Info::Get_valuelen(char const*, int&) constin simpleMPI.cpp.o
“_MPI_Type_create_hindexed”, referenced from:
MPI::Datatype::Create_hindexed(int, int const*, int const*) constin simpleMPI.cpp.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** […/…/bin/darwin/release/simpleMPI] Error 1
make: *** [src/simpleMPI/Makefile.ph_build] Error 2