[Paraview] PV on SGI Altix: Sgi MPI error

George Zagaris george.zagaris at kitware.com
Tue Apr 26 05:59:51 EDT 2011


Hi Pratik,

I did not realize that you were doing that already.

The error is a link error with the library
/opt/sgi/mpt/mpt-1.23/lib/libmpi++.so.
So, regardless if the references are declared in the corresponding headers,
mpi.h & mpi++.h, they are not in the library you are linking. You can do an
`nm /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so` and grep for a method to verify that.

Is there a libmpi.so you can link to? It looks like you are linking in only the
C++ MPI interface.

Regards,
George

On Tue, Apr 26, 2011 at 1:59 AM, pratik <pratik.mallya at gmail.com> wrote:
> On Tuesday 26 April 2011 07:54 AM, George Zagaris wrote:
>>
>> Hi Pratik,
>>
>> I am not sure if this will resolve your issue but,
>> on some system configurations you have to link
>> MPI with your executable using -lmpi instead of
>> calling the mpicxx wrapper.
>>
>> Regards,
>> George
>>
>> On Mon, Apr 25, 2011 at 9:54 PM,<paraview-request at paraview.org>  wrote:
>>
>>>
>>> Send ParaView mailing list submissions to
>>>        paraview at paraview.org
>>>
>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>        http://www.paraview.org/mailman/listinfo/paraview
>>> or, via email, send a message with subject or body 'help' to
>>>        paraview-request at paraview.org
>>>
>>> You can reach the person managing the list at
>>>        paraview-owner at paraview.org
>>>
>>> When replying, please edit your Subject line so it is more specific
>>> than "Re: Contents of ParaView digest..."
>>>
>>>
>>> Today's Topics:
>>>
>>>   1. PV on SGI Altix: Sgi MPI error (pratik)
>>>
>>>
>>> ----------------------------------------------------------------------
>>>
>>> Message: 1
>>> Date: Tue, 26 Apr 2011 07:24:07 +0530
>>> From: pratik<pratik.mallya at gmail.com>
>>> Subject: [Paraview] PV on SGI Altix: Sgi MPI error
>>> To: paraview at paraview.org
>>> Message-ID:<4DB625BF.5070302 at gmail.com>
>>> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
>>>
>>> On this system, i tried building pvserver (3.10.1)(no qt) with my local
>>> openmpi lib and the system gcc compilers and it worked perfectly.
>>> However, the "people incharge" insist that I use the sgi mpt libraries
>>> for mpi.
>>> Well, for the previous install(openmpi), i had used mpic++ instead of
>>> g++ (i read somewhere in mailing list that it solves the errors, and it
>>> did); for the current install i am getting the error given below. I have
>>> also attached cmakecache.txt. can anyone please tell me what i must do?
>>> I have given the right include and lib directories for PV, and mpi.h
>>> does have some of these functions, so why am i getting this error?
>>>
>>> [  4%] Built target vtklibxml2
>>> [  4%] Built target vtkDICOMParser
>>> Linking CXX executable ../../../bin/ProcessShader
>>> /opt/intel/Compiler/11.1/038/lib/intel64/libimf.so: warning: warning:
>>> feupdateenv is not implemented and will always fail
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Topo_test'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_size'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Test_cancelled'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Finalize'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Buffer_detach'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graph_neighbors'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graphdims_get'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Gatherv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_translate_ranks'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Error_string'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Wtick'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_remote_size'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Reduce_scatter'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Bsend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Probe'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Errhandler_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_rank'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Intercomm_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_DUP_FN'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_size'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Sendrecv_replace'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graph_map'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Startall'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Testall'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Iprobe'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Error_class'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Attr_get'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_remote_group'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_intersection'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Send'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_shift'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Rsend_init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Gather'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_create_resized'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Keyval_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Alltoall'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Test'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_difference'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Scan'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_indexed'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_sub'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Address'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Allreduce'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Keyval_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Buffer_attach'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Testany'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_map'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_size'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_range_incl'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graph_get'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Ssend_init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Waitsome'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Scatterv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Recv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Unpack'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_hindexed'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_get'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Dims_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Isend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graph_neighbors_count'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Get_count'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Testsome'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Allgather'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Waitany'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Abort'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cancel'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Waitall'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_NULL_COPY_FN'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Op_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Graph_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_vector'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cart_coords'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Get_processor_name'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Errhandler_set'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Issend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Wait'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Rsend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_test_inter'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_rank'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Sendrecv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Irsend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_struct'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Intercomm_merge'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_get_true_extent'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Alltoallw'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_rank'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Op_create'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Cartdim_get'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Barrier'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_compare'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Allgatherv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Irecv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Ibsend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Bcast'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Alltoallv'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_union'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Pcontrol'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_dup'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_compare'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Reduce'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_group'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Request_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Comm_split'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Attr_put'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Bsend_init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Scatter'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_hvector'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_commit'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Errhandler_free'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Recv_init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Ssend'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_excl'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Attr_delete'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_range_excl'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Initialized'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Pack_size'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_contiguous'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Wtime'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_NULL_DELETE_FN'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Group_incl'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Send_init'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Type_get_extent'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to
>>> `MPI_Get_elements'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Pack'
>>> /opt/sgi/mpt/mpt-1.23/lib/libmpi++.so: undefined reference to `MPI_Start'
>>> make[2]: *** [bin/ProcessShader] Error 1
>>> make[1]: ***
>>> [VTK/Utilities/MaterialLibrary/CMakeFiles/ProcessShader.dir/all] Error 2
>>> make: *** [all] Error 2
>>>
>>> pratik
>>>
>>> -------------- next part --------------
>>> An embedded and charset-unspecified text was scrubbed...
>>> Name: CMakeCache.txt
>>>
>>> URL:<http://www.paraview.org/pipermail/paraview/attachments/20110426/c5e0301d/attachment.txt>
>>>
>>> ------------------------------
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the ParaView Wiki at:
>>> http://paraview.org/Wiki/ParaView
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>>
>>> End of ParaView Digest, Vol 84, Issue 113
>>> *****************************************
>>>
>>>
>
> Hi George,
> Did you mean to use the C++ compiler with the -lmpi flags instead of mpicxx
> wrapper? Because that is what i have done here ( i had done that because  i
> couldn't find an mpicxx wrapper in the installed directory for the sgi
> mpt(1.23)...they only seem to have the mpiexec and mpirun executables in the
> /bin directory).
> Anyways, thanks for trying to help. If you have any other ideas, please do
> share them. I just can't figure out why the error is showing especially when
> all the references seem to be declared in the mpi.h and mpi++.h header files
> provided by sgi mpt.
>
> Regards,
> Pratik
>


More information about the ParaView mailing list