[CMake-Promote] does anyone have compile MPI program by cmake successfully

Philip Lowman philip at yhbt.com
Fri Apr 24 09:45:16 EDT 2009


Hi,

I suggest reposting this on the CMake mailing list.  This is more of an
advocacy mailing list and doesn't have that many subscribers.

http://www.cmake.org/mailman/listinfo/cmake

On Fri, Apr 24, 2009 at 7:00 AM, 吴景鹏 <tojingpeng at gmail.com> wrote:

> Hi, cmake users
>
> I tried to use cmake to create the makefile , but I failed to make when
> Linking CXX executable read_send_write,
> there are many  references undefined. it seems that  the program haven't
> found the libraries. maybe I don't have the right configuration of cmake.
> The cmake configuration is attached. could you give me some suggestion?
>
> I began to use cmake about one month ago and don't know the meanings of
> settings in cmake exactly.
> Could you give me some suggestions?
> some information are as follows:
>
> the end of error reported are as follows,
> CMakeFiles/read_send_write.
> dir/read_send_write.o(.gnu.linkonce.t._ZN4PMPI10Errhandler4FreeEv+0x11):
> In function `PMPI::Errhandler::Free()':
> : undefined reference to `MPI_Errhandler_free'
> collect2: ld returned 1 exit status
> make[2]: *** [read_send_write] Error 1
> make[1]: *** [CMakeFiles/read_send_write.dir/all] Error 2
> make: *** [all] Error 2
> usage: more [-dflpcsu] [+linenum | +/pattern] name1 name2 ...
>
>
>
>
> my CMakeLists.txt, downloaded from
> http://crab-lab.zool.ohiou.edu/kevin/ITK_MPI/ :
> cmake_minimum_required(VERSION 2.4)
>
> project( ITK_MPI )
>
> #include_directories( /usr/include/openmpi/1.2.4-gcc )
> include_directories( /opt/openmpi/install/include/openmpi/ )
>
> find_package ( ITK )
> if ( ITK_FOUND )
>         include( ${USE_ITK_FILE} )
> endif( ITK_FOUND )
>
> find_package ( MPI )
> if ( MPI_FOUND )
>         include_directories( ${MPI_INCLUDE_PATH} )
> endif( MPI_FOUND )
>
> add_executable( pieces pieces.cxx )
> target_link_libraries( pieces ITKCommon)
>
> add_executable( read_split_write read_split_write.cxx )
> target_link_libraries( read_split_write ${MPI_LIBRARIES}
>  ITKIO ITKCommon )
>
> add_executable( read_send_write read_send_write.cxx )
> target_link_libraries( read_send_write ${MPI_LIBRARIES}
>  ITKIO ITKCommon )
>
> add_executable( read_split_paste_write read_split_paste_write.cxx )
> target_link_libraries( read_split_paste_write ITKIO ITKCommon )
>
> add_executable( read_split_send_paste_write read_split_send_paste_write.cxx
> )
> add_executable( read_split_send_paste_write read_split_send_paste_write.cxx
> )
> target_link_libraries( read_split_send_paste_write  ${MPI_LIBRARIES}
>   ITKIO ITKCommon )
>
>
> the configuration of cmake.
>
>  CMAKE_AR
> /usr/bin/ar
>  CMAKE_BACKWARDS_COMPATIBILITY
> 2.4
>  CMAKE_BUILD_TYPE
>
>  CMAKE_COLOR_MAKEFILE
> ON
>  CMAKE_CXX_COMPILER
> /opt/openmpi/install/bin/mpicxx
>  CMAKE_CXX_FLAGS
>
>  CMAKE_CXX_FLAGS_DEBUG
> -g
>  CMAKE_CXX_FLAGS_MINSIZEREL       -Os
> -DNDEBUG
>  CMAKE_CXX_FLAGS_RELEASE          -O3
> -DNDEBUG
>  CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2
> -g
>  CMAKE_C_COMPILER
> /opt/openmpi/install/bin/mpicc
>  CMAKE_C_FLAGS
>
>  CMAKE_C_FLAGS_DEBUG
> -g
>  CMAKE_C_FLAGS_MINSIZEREL         -Os
> -DNDEBUG
>  CMAKE_C_FLAGS_RELEASE            -O3
> -DNDEBUG
>  CMAKE_C_FLAGS_RELWITHDEBINFO     -O2
> -g
>  CMAKE_EXE_LINKER_FLAGS
>
>  CMAKE_EXE_LINKER_FLAGS_DEBUG
>
>  CMAKE_EXE_LINKER_FLAGS_MINSIZE
>
>  CMAKE_EXE_LINKER_FLAGS_RELEASE
>
>  CMAKE_EXE_LINKER_FLAGS_RELWITH
>
>  CMAKE_INSTALL_PREFIX
> /opt/openmpi/install
>  CMAKE_MAKE_PROGRAM
> /usr/bin/gmake
>  CMAKE_MODULE_LINKER_FLAGS
>
>  CMAKE_MODULE_LINKER_FLAGS_DEBU
>
>  CMAKE_MODULE_LINKER_FLAGS_MINS
>
>  CMAKE_MODULE_LINKER_FLAGS_RELE
>
>  CMAKE_MODULE_LINKER_FLAGS_RELW
>
>  CMAKE_RANLIB
> /usr/bin/ranlib
>  CMAKE_SHARED_LINKER_FLAGS
>
>  CMAKE_SHARED_LINKER_FLAGS_DEBU
>
>  CMAKE_SHARED_LINKER_FLAGS_MINS
>
>  CMAKE_SHARED_LINKER_FLAGS_RELE
>
>  CMAKE_SHARED_LINKER_FLAGS_RELW
>
>  CMAKE_SKIP_RPATH
> OFF
>  CMAKE_USE_RELATIVE_PATHS
> OFF
>  CMAKE_VERBOSE_MAKEFILE
> OFF
>  EXECUTABLE_OUTPUT_PATH
>
>  ITK_DIR
> /opt/itk/bin
>  LIBRARY_OUTPUT_PATH
>
>  MPI_EXTRA_LIBRARY
> /opt/openmpi/install/lib/libmpi_cxx.so.0
>  MPI_INCLUDE_PATH
> /opt/openmpi/install/include/
>  MPI_LIBRARY                      /opt/openmpi/install/lib/libmpi_cxx.la
>
>
>
>
>
> _______________________________________________
> CMake-Promote mailing list
> CMake-Promote at cmake.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-promote
>



-- 
Philip Lowman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-promote/attachments/20090424/b5cbb7c0/attachment.html>


More information about the CMake-Promote mailing list