[Cmake] CMake and MPI on Sun
William A. Hoffman
billlist at nycap.rr.com
Wed Jul 21 08:40:26 EDT 2004
The MPI on the sun may require more than one library.
First you may need to find the symbols:
nm /usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/*.a | grep xdr_array
Then in the advanced option for cmake, set MPI_EXTRA_LIBRARY to the
library or libraries you need. The problem with MPI is there are lots
of different versions that have different libraries.
-Bill
At 05:50 AM 7/21/2004, michael_cm at gmx.ch wrote:
>Hi,
>
>I have a problem when trying to compile the following mpi program with the
>CMake generated makefile under Sun Solaris:
>
...
>inary/MPITest/MPITest...
>Undefined first referenced
> symbol in file
>xdr_short
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>getsockname
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>xdr_u_char
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>listen
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>xdr_opaque
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>xdr_float
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>xdr_u_long
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>xdr_u_int
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>sched_yield
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_tsr.o)
>connect
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>shutdown
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>xdr_long
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>gethostbyname
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>accept
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>sendto
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_utils.o)
>getsockopt
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>xdr_double
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>xdr_u_short
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>getpeername
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>xdr_int
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>socketpair
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_utils.o)
>xdr_char
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>socket
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_utils.o)
>xdrmem_create
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(bswap2.o)
>setsockopt
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>inet_ntoa
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>bind
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>recv
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_util.o)
>xdr_array
>/usr/pack/mpich-1.2.5-mo/sun4u-sun-solaris2.8/lib/libmpich.a(p4_sock_sr.o)
>ld: fatal: Symbol referencing errors. No output written to
>/home/kuhnmi/DA/Binary/MPITest/MPITest
>collect2: ld returned 1 exit status
>make[1]: *** [/home/kuhnmi/DA/Binary/MPITest/MPITest] Error 1
>make: *** [default_target] Error 2
>
>-----
>
>I can compile the same program under Windows with the CMake-generated Visual
>Studio workspace and I can compile it under Sun Solaris with mpiCC. Can
>somebody explain me what I'm doing wrong or what I could do to find out what
>is going wrong? The CMakeLists.txt-File I'm using looks as follows:
>
>-----
>
>PROJECT(MPITest)
>
>FIND_PACKAGE(MPI)
>
>INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH})
>
>ADD_EXECUTABLE(MPITest MPITest.cxx)
>
>TARGET_LINK_LIBRARIES(
> MPITest
> ${MPI_LIBRARY}
>)
>
>-----
>
>Thanks,
>
>Michael
>
>_______________________________________________
>Cmake mailing list
>Cmake at www.cmake.org
>http://www.cmake.org/mailman/listinfo/cmake
More information about the Cmake
mailing list