Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] EXTERNAL: Re: Unresolved reference 'mbind' and 'get_mempolicy'
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-09-30 07:59:04


On Sep 28, 2011, at 5:02 PM, Blosch, Edwin L wrote:

> ./configure --prefix=/release/cfd/openmpi-intel --without-tm --without-sge --without-lsf --without-psm --without-portals --without-elan --without-slurm --without-loadleveler --without-libnuma --enable-mpirun-prefix-by-default --enable-contrib-no-build=vt --enable-mca-no-build=maffinity --disable-per-user-config-files --disable-io-romio --enable-static --disable-shared --without-openib CXX=/appserv/intel/cce/10.1.021/bin/icpc CC=/appserv/intel/cce/10.1.021/bin/icc 'CFLAGS= -O2' 'CXXFLAGS= -O2' F77=/appserv/intel/fce/10.1.021/bin/ifort 'FFLAGS=-D_GNU_SOURCE -traceback -O2' FC=/appserv/intel/fce/10.1.021/bin/ifort 'FCFLAGS=-D_GNU_SOURCE -traceback -O2' 'LDFLAGS= -static-intel

The weird thing here is that I am unable to replicate this issue. :-\

I thought that if I tried essentially the same configure line as above, I should see the same issue, because I have libnuma.so and no libnuma.a. But it worked fine (i.e., OMPI build and installed fine, and I'm able to compile/link MPI applications just fine). Huh.

> The error messages upon linking the application are unchanged:
>> /scratch1/bloscel/builds/release/openmpi-intel/lib/libmpi.a(topology-linux.o): In function `hwloc_linux_alloc_membind':
>> topology-linux.c:(.text+0x1da): undefined reference to `mbind'
>
> Re: NUMA: It appears there is a /usr/lib64/libnuma.so but no static version. There is /usr/include/numa.h and /usr/include/numaif.h.
>
> I don't understand about make V=1. What tree? Somewhere in the OpenMPI build, or in the application compilation itself? Is "V=1" something in the OpenMPI makefile structure?

Sorry, "make V=1" is part of OMPI's build system. If you "make V=1" in the v1.5 (and later) OMPI, it'll show you the whole compile line instead of the abbreviated output.

> Thanks,
>
> Ed
>
> -----Original Message-----
> From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]] On Behalf Of Jeff Squyres
> Sent: Wednesday, September 28, 2011 11:05 AM
> To: Open MPI Users
> Subject: EXTERNAL: Re: [OMPI users] Unresolved reference 'mbind' and 'get_mempolicy'
>
> Yowza; that sounds like a configury bug. :-(
>
> What line were you using to configure Open MPI? Do you have libnuma installed? If so, do you have the .h and .so files? Do you have the .a file?
>
> Can you send the last few lines of output from a failed "make V=1" in that tree? (it'll show us the exact commands used to compile/link, etc.)
>
>
> On Sep 28, 2011, at 11:55 AM, Blosch, Edwin L wrote:
>
>> I am getting some undefined references in building OpenMPI 1.5.4 and I would like to know how to work around it.
>>
>> The errors look like this:
>>
>> /scratch1/bloscel/builds/release/openmpi-intel/lib/libmpi.a(topology-linux.o): In function `hwloc_linux_alloc_membind':
>> topology-linux.c:(.text+0x1da): undefined reference to `mbind'
>> topology-linux.c:(.text+0x213): undefined reference to `mbind'
>> /scratch1/bloscel/builds/release/openmpi-intel/lib/libmpi.a(topology-linux.o): In function `hwloc_linux_set_area_membind':
>> topology-linux.c:(.text+0x414): undefined reference to `mbind'
>> topology-linux.c :(.text+0x46c): undefined reference to `mbind'
>> /scratch1/bloscel/builds/release/openmpi-intel/lib/libmpi.a(topology-linux.o): In function `hwloc_linux_get_thisthread_membind':
>> topology-linux.c:(.text+0x4ff): undefined reference to `get_mempolicy'
>> topology-linux.c:(.text+0x5ff): undefined reference to `get_mempolicy'
>> /scratch1/bloscel/builds/release/openmpi-intel/lib/libmpi.a(topology-linux.o): In function `hwloc_linux_set_thisthread_membind':
>> topology-linux.c:(.text+0x7b5): undefined reference to `migrate_pages'
>> topology-linux.c:(.text+0x7e9): undefined reference to `set_mempolicy'
>> topology-linux.c:(.text+0x831): undefined reference to `set_mempolicy'
>> make: *** [main] Error 1
>>
>> S ome configure output that is probably relevant:
>>
>> checking numaif.h usability... yes
>> checking numaif.h presence... yes
>> checking for numaif.h... yes
>> checking for set_mempolicy in -lnuma... yes
>> checking for mbind in -lnuma... yes
>> checking for migrate_pages in -lnuma... yes
>>
>> The FAQ says that I should have to give -with-libnuma explicitly, but I did not do that. Is there a problem with configure? Or the FAQ? Or perhaps the system has a configuration peculiarity?
>>
>> On another system, the configure output is different, and there are no unresolved references:
>>
>> checking numaif.h usability... no
>> checking numaif.h presence... no
>> checking for numaif.h... no
>>
>> What is the configure option that will make the unresolved references go away?
>>
>> Thanks,
>>
>> Ed
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/