[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