[ewg] [mpich2-dev] Problems with mvapich2-1.5.1 - shared library is missing hwloc_* functions.
Dave Goodell
goodell at mcs.anl.gov
Fri Sep 10 11:58:52 PDT 2010
Hi Mike,
Stock MPICH2 does not use hwloc directly inside the MPI library. It is only used by the hydra process manager. MVAPICH2 appears to be using hwloc directly inside the library, so you'll need to ask the OSU folks for a fix.
They can be contacted at mvapich-discuss at cse.ohio-state.edu.
http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
-Dave
On Sep 10, 2010, at 1:42 PM CDT, Mike Heinz wrote:
> Hello all,
>
> I'm trying to build mvapich2-1.5.1 on an RHEL 5 update 3 system. It builds from the SRPM just fine, but when I try to compile test programs, they don't link. It appears that a set of routines, hwloc_* are missing from the shared library.
>
> [root at homer bandwidth]# /usr/mpi/gcc/mvapich2-1.5.1/bin/mpicc bw.c
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_get_obj_by_depth'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_topology_get_depth'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_set_cpubind'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_topology_init'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_cpuset_cpu'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_get_depth_type'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_get_type_depth'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_get_nbobjs_by_depth'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_compare_types'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_topology_destroy'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_topology_load'
> /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.so: undefined reference to `hwloc_cpuset_alloc'
> collect2: ld returned 1 exit status
>
> compared with:
>
> [root at homer bandwidth]# /usr/mpi/gcc/mvapich2-1.5.1/bin/mpicc bw.c /usr/mpi/gcc/mvapich2-1.5.1/lib/libmpich.a
> [root at homer bandwidth]#
>
> [root at homer lib]# nm libmpich.so | grep hwloc_compare_types
> U hwloc_compare_types
>
> [root at homer lib]# nm libmpich.a | grep hwloc_compare_types
> 0000000000000020 T hwloc_compare_types
>
> I'm building the binary RPM as follows:
>
> [root at homer SRPMS]# rpmbuild --rebuild
> --define '_topdir /home/mhein^Mnz/work/OFED_SOURCE/buildtemp/OFEDRPMS'
> --buildroot '/home/mheinz^Mz/work/OFED_SOURCE/buildtemp/build'
> --define 'build_root /home/mh^Mheinz/work/OFED_SOURCE/buildtemp/build'
> --target x86_64 --define ^M '_name mvapich2_gcc'
> --define 'compiler gcc' --define 'impl of^Mfa'
> --define 'open_ib_home /usr' --define '_usr /usr'
> --define 'comp_env CC=gcc CXX=g++ F77=gfortran F90=gfortran'
> --define 'auto_req 0'
> --define 'mpi_selector /usr/bin/mpi-sele^Mector'
> --define '_prefix /usr/mpi/gcc/mvapich2-1.5.1'
> --define 'shaared_libs 1'
> --define 'romio 1'
> --define 'rdma --with-rdma=gen2'
> --define 'ib_include --with-ib-include=/usr/include'
> --define 'ib_libpath --with-ib-libpath=/usr/lib64'
> --define 'configure_options --with-psm==no'
> mvapich2-*.src.rpm
>
> Can someone tell me what I'm doing wrong?
>
More information about the ewg
mailing list