[Paraview] Building parallel pvserver with MPICH2 on Mac OS X
Berk Geveci
berk.geveci at kitware.com
Fri Jan 16 10:51:20 EST 2009
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 <shirose at jamstec.go.jp> 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
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
>
More information about the ParaView
mailing list