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
