[ewg] Problems with mvapich2-1.5.1 - shared library is missing hwloc_* functions.
Mike Heinz
michael.heinz at qlogic.com
Fri Sep 10 11:42:40 PDT 2010
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