Hi Berk, Thank you. That solved the problem. (I didn't realize that libpmpich.a (rather than libmpichxx.a) had the MPI functions.)
Shigenobu On Sat, Jan 17, 2009 at 00:51, Berk Geveci <[email protected]> wrote: > Try adding libpmpich.a to the MPI_EXTRA_LIBRARY: > > MPI_EXTRA_LIBRARY > /opt/local/lib/libmpich.a;/opt/local/lib/libpmpich.a > > By the way, unless you are building ParaView statically, I recommend > using shared MPI libraries as well. > > -berk > > On Fri, Jan 16, 2009 at 9:55 AM, Shigenobu Hirose <[email protected]> > wrote: >> Hi, >> >> I want to build a parallel pvserver on Mac OS X 10.5.6 (Intel) with >> paraview-3.4.0 and MPICH2, which fails as follows. It seems that >> ccmake cannot find MPI libraries, but I'm sure that the parameters >> point correct locations of the libraries. Also, I've confirmed that >> MPICH2 are correctly installed on the system. (I also tried the CVS >> source, which failed in the same way.) >> Could anyone give me suggestions? >> >> Thank you. >> Shigenobu >> >> - MPI-related parameters for ccmake: >> MPI_EXTRA_LIBRARY /opt/local/lib/libmpich.a >> MPI_INCLUDE_PATH /opt/local/include/mpich2 >> MPI_LIBRARY /opt/local/lib/libmpichcxx.a >> >> - Errors: >> Linking CXX executable ../../../../bin/DistributedData >> Undefined symbols: >> "_MPI_Comm_dup", referenced from: >> vtkMPICommunicator::Duplicate(vtkMPICommunicator*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Reduce", referenced from: >> vtkMPICommunicatorReduceData(void const*, void*, int, int, int, >> int, int*)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Cancel", referenced from: >> vtkMPICommunicator::Request::Cancel() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Irecv", referenced from: >> int vtkMPICommunicatorNoBlockReceiveData<int>(int*, int, int, >> int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockReceiveData<unsigned long>(unsigned >> long*, int, int, int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockReceiveData<char>(char*, int, int, >> int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockReceiveData<float>(float*, int, >> int, int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Isend", referenced from: >> int vtkMPICommunicatorNoBlockSendData<int>(int const*, int, int, >> int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockSendData<unsigned long>(unsigned >> long const*, int, int, int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockSendData<char>(char const*, int, >> int, int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorNoBlockSendData<float>(float const*, int, >> int, int, int, vtkMPICommunicator::Request&, int*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Comm_free", referenced from: >> vtkMPICommunicator::~vtkMPICommunicator()in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::~vtkMPICommunicator()in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::~vtkMPICommunicator()in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::InitializeCopy(vtkMPICommunicator*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Errhandler_set", referenced from: >> vtkMPICommunicator::GetWorldCommunicator() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Gatherv", referenced from: >> vtkMPICommunicator::GatherVVoidArray(void const*, void*, int, >> int*, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::GatherVVoidArray(void const*, void*, int, >> int*, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Comm_rank", referenced from: >> vtkMPICommunicator::InitializeNumberOfProcesses() in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::ScatterVVoidArray(void const*, void*, int*, >> int*, int, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::GatherVVoidArray(void const*, void*, int, >> int*, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Comm_size", referenced from: >> vtkMPICommunicator::InitializeNumberOfProcesses() in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::GetWorldCommunicator() in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::GatherVoidArray(void const*, void*, int, >> int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::AllGatherVoidArray(void const*, void*, int, >> int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::AllGatherVVoidArray(void const*, void*, int, >> int*, int*, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::ScatterVVoidArray(void const*, void*, int*, >> int*, int, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::GatherVVoidArray(void const*, void*, int, >> int*, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Op_create", referenced from: >> vtkMPICommunicator::ReduceVoidArray(void const*, void*, int, >> int, vtkCommunicator::Operation*, int)in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::AllReduceVoidArray(void const*, void*, int, >> int, vtkCommunicator::Operation*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Ssend", referenced from: >> int vtkMPICommunicatorSendData<char>(char const*, int, int, int, >> int, int, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorSendData<char>(char const*, int, int, int, >> int, int, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Group_free", referenced from: >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Group_incl", referenced from: >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Allgatherv", referenced from: >> vtkMPICommunicator::AllGatherVVoidArray(void const*, void*, int, >> int*, int*, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Gather", referenced from: >> vtkMPICommunicator::GatherVoidArray(void const*, void*, int, >> int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Op_free", referenced from: >> vtkMPICommunicator::ReduceVoidArray(void const*, void*, int, >> int, vtkCommunicator::Operation*, int)in >> libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::AllReduceVoidArray(void const*, void*, int, >> int, vtkCommunicator::Operation*)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Errhandler_create", referenced from: >> vtkMPICommunicator::GetWorldCommunicator() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Allreduce", referenced from: >> vtkMPICommunicatorAllReduceData(void const*, void*, int, int, >> int, int*)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Barrier", referenced from: >> vtkMPICommunicator::Barrier() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Request_free", referenced from: >> vtkMPICommunicator::Request::Cancel() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Finalize", referenced from: >> vtkMPIController::Finalize(int) in >> libvtkParallel.a(vtkMPIController.o) >> "_MPI_Error_string", referenced from: >> vtkMPIController::ErrorString(int) in >> libvtkParallel.a(vtkMPIController.o) >> vtkMPICommunicatorMPIErrorHandler(int*, int*, ...)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Init", referenced from: >> vtkMPIController::Initialize(int*, char***, int)in >> libvtkParallel.a(vtkMPIController.o) >> "_MPI_Comm_group", referenced from: >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Allgather", referenced from: >> vtkMPICommunicator::AllGatherVoidArray(void const*, void*, int, >> int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Errhandler_free", referenced from: >> vtkMPICommunicator::GetWorldCommunicator() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Get_processor_name", referenced from: >> vtkMPIController::Initialize(int*, char***, int)in >> libvtkParallel.a(vtkMPIController.o) >> "_MPI_Recv", referenced from: >> int vtkMPICommunicatorReceiveData<char>(char*, int, int, int, >> int, int, int*, int, int&)in libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorReceiveData<char>(char*, int, int, int, >> int, int, int*, int, int&)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Send", referenced from: >> int vtkMPICommunicatorSendData<char>(char const*, int, int, int, >> int, int, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> int vtkMPICommunicatorSendData<char>(char const*, int, int, int, >> int, int, int*, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Test", referenced from: >> vtkMPICommunicator::Request::Test() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Wait", referenced from: >> vtkMPICommunicator::Request::Wait() in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Scatter", referenced from: >> vtkMPICommunicator::ScatterVoidArray(void const*, void*, int, >> int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Comm_create", referenced from: >> vtkMPICommunicator::Initialize(vtkProcessGroup*) in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Abort", referenced from: >> vtkMPICommunicatorMPIErrorHandler(int*, int*, ...)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Bcast", referenced from: >> vtkMPICommunicator::BroadcastVoidArray(void*, int, int, int)in >> libvtkParallel.a(vtkMPICommunicator.o) >> "_MPI_Scatterv", referenced from: >> vtkMPICommunicator::ScatterVVoidArray(void const*, void*, int*, >> int*, int, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> vtkMPICommunicator::ScatterVVoidArray(void const*, void*, int*, >> int*, int, int, int)in libvtkParallel.a(vtkMPICommunicator.o) >> ld: symbol(s) not found >> collect2: ld returned 1 exit status >> make[2]: *** [bin/DistributedData] Error 1 >> make[1]: *** [VTK/Parallel/Testing/Cxx/CMakeFiles/DistributedData.dir/all] >> Error 2 >> make: *** [all] Error 2 >> _______________________________________________ >> ParaView mailing list >> [email protected] >> http://www.paraview.org/mailman/listinfo/paraview >> > _______________________________________________ ParaView mailing list [email protected] http://www.paraview.org/mailman/listinfo/paraview
