Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: [hwloc-devel] hwloc-1.3.1 build failure w/ Solaris Studio compilers
From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2012-01-31 19:48:17


When Jeff Squyres indicated that ompi-1.5.5 will use hwloc-1.3.x, I
started putting hwloc-1.3.1 through my testing gauntlet.
I am sorry I didn't find this in the 1.3.1rc2, but when it came out Dec
15 I wasn't setup as well for testing as I am now.

What I have found is that with the Solaris Studio 12.2 and 12.3
compilers I see link failures in util/ from "make all".
This has been seen on both Solaris/x86-64 and Linux/x86-64, but
Solaris/SPARC seems to be OK.

Here is what I see with "make V=1" on Solaris:
> /bin/sh ../libtool --tag=CC --mode=link cc -m32
> -I/home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/hwloc-1.3.1/include
> -L/home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/BLD/src -o
> hwloc-calc hwloc-calc.o
> /home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/BLD/src/libhwloc.la
> -lkstat -llgrp
> libtool: link: cc -m32
> -I/home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/hwloc-1.3.1/include
> -o .libs/hwloc-calc hwloc-calc.o
> -L/home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/BLD/src
> /home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/BLD/src/.libs/libhwloc.so
> -lkstat -llgrp
> -R/home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/INST/lib
> Undefined first referenced
> symbol in file
> fabsf
> /home/phargrov/OMPI/hwloc-1.3.1-solaris11-x86-ib-ss12u2/BLD/src/.libs/libhwloc.so
> ld: fatal: symbol referencing errors. No output written to
> .libs/hwloc-calc

Here is Linux:
> /bin/bash ../libtool --tag=CC --mode=link cc
> -I/home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/hwloc-1.3.1/include
> -L/home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/BLD/src -o
> hwloc-calc hwloc-calc.o
> /home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/BLD/src/libhwloc.la
> libtool: link: cc
> -I/home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/hwloc-1.3.1/include
> -o .libs/hwloc-calc hwloc-calc.o
> -L/home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/BLD/src
> /home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/BLD/src/.libs/libhwloc.so
> -lpci -Wl,-rpath
> -Wl,/home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/INST/lib
> /home/phargrov/OMPI/hwloc-1.3.1-linux-x86_64-ss12u3/BLD/src/.libs/libhwloc.so:
> undefined reference to `fabsf'
> collect2: ld returned 1 exit status

The problem in both cases appears to be that libhwloc.so needs libm for
fabsf(), but the library dependency is not resolved.
Though the Solaris build above was configured w/ CFLAGS=-m32, setting
CFLAGS=-m64 fails in the same way.

I *can* build hwloc-1.3.1 w/ gcc on the hosts where the SS12.x compilers
fail.

-Paul

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900