Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [hwloc-devel] hwloc-1.4 build failure w/ Solaris Studio compilers
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2012-02-01 07:47:25


Thanks, this should be fixed in trunk >= r4230, I'll backport in other
branches soon. We didn't need add -lm for fabs() because gcc uses an
intrinsics, and libxml2 depends on libm, quite lucky.
Brice

Le 01/02/2012 03:48, Paul H. Hargrove a écrit :
> The problem I described below is ALSO present in hwloc-1.4
> -Paul
>
> On 1/31/2012 4:48 PM, Paul H. Hargrove wrote:
>> 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
>>
>