[mpich-discuss] [EXTERNAL] Re: Help Building MPICH 4.0b1: undefined references to hwloc

Zhou, Hui zhouh at anl.gov
Wed Dec 15 09:44:34 CST 2021


Hi Matt,

Thanks for posting config.log​.  I found the issue. Both mpich the library and hydra the program uses hwloc and independently tries to probe hwloc. Because hydra is configured as a subdir inside mpich configure, it inherits the CFLAGS from mpich, resulting in using embedded hwloc.h​ while linking with external libhwloc​.

We'll patch mpich to strengthen its config check. Meanwhile, you can pass --with-hwloc=embedded​ to the mpich configure to force both mpich and hydra to use embedded hwloc, which should bypass your issue.

Thanks for reporting!

--
Hui Zhou
________________________________
From: Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] <matthew.thompson at nasa.gov>
Sent: Wednesday, December 15, 2021 7:13 AM
To: discuss at mpich.org <discuss at mpich.org>
Cc: Zhou, Hui <zhouh at anl.gov>
Subject: Re: [EXTERNAL] Re: [mpich-discuss] Help Building MPICH 4.0b1: undefined references to hwloc


Hui,



Please find attached the requested config.log



Matt



--

Matt Thompson, SSAI, Ld Scientific Programmer/Analyst

NASA GSFC,    Global Modeling and Assimilation Office

Code 610.1,  8800 Greenbelt Rd,  Greenbelt,  MD 20771

Phone: 301-614-6712                 Fax: 301-614-6246

http://science.gsfc.nasa.gov/sed/bio/matthew.thompson



From: "Zhou, Hui via discuss" <discuss at mpich.org>
Reply-To: "discuss at mpich.org" <discuss at mpich.org>
Date: Tuesday, December 14, 2021 at 6:14 PM
To: "discuss at mpich.org" <discuss at mpich.org>
Cc: "Zhou, Hui" <zhouh at anl.gov>
Subject: [EXTERNAL] Re: [mpich-discuss] Help Building MPICH 4.0b1: undefined references to hwloc



Hi Matt,



Could post your src/pm/hydra/config.log​?



--

Hui Zhou

________________________________

From: Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] via discuss <discuss at mpich.org>
Sent: Tuesday, December 14, 2021 2:40 PM
To: discuss at mpich.org <discuss at mpich.org>
Cc: Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] <matthew.thompson at nasa.gov>
Subject: [mpich-discuss] Help Building MPICH 4.0b1: undefined references to hwloc



MPICH Discuss,



I'm sure I've done something stupid, but I'm not sure what. I tried searching google, but my google-fu failed me.



Today I decided to try and build MPICH 4.0b1 on a cluster I'm on (NCCS Discover) using GCC 11.2. My configure line was quite boring:



./configure CC=gcc CXX=g++ FC=gfortran \

  FCFLAGS=-fallow-argument-mismatch \

  FFLAGS=-fallow-argument-mismatch \

  --prefix=/discover/swdev/gmao_SIteam/MPI/mpich/4.0b1/gcc-11.2.0



The MPICH configure step was nice enough to let me know I needed those FFLAGS and FCFLAGS. And it configured just happily.[1]



When I went to the make step I eventually it errored out with:



make[3]: Entering directory '/gpfsm/dswdev/gmao_SIteam/MPI/src/mpich-4.0b1/src/pm/hydra'

  CCLD     libpm.la

  CCLD     hydra_persist

/usr/bin/ld: /discover/swdev/gmao_SIteam/MPI/src/mpich-4.0b1/src/pm/hydra/.libs/libhydra.a(topo_hwloc.o): in function `HYDT_topo_hwloc_init':

/discover/swdev/gmao_SIteam/MPI/src/mpich-4.0b1/src/pm/hydra/tools/topo/hwloc/topo_hwloc.c:577: undefined reference to `hwloc_topology_set_io_types_filter'

collect2: error: ld returned 1 exit status

Makefile:1286: recipe for target 'hydra_persist' failed

make[3]: *** [hydra_persist] Error 1



Now, as far as I can tell from the configure output, I'm using the embedded hwloc:



checking if hwloc meets minimum version requirement... no

configure: ===== configuring modules/hwloc =====

...

### Configuring hwloc core

###

checking hwloc building mode... embedded

configure: hwloc builddir: /discover/swdev/gmao_SIteam/MPI/src/mpich-4.0b1/modules/hwloc

configure: hwloc srcdir: /discover/swdev/gmao_SIteam/MPI/src/mpich-4.0b1/modules/hwloc

...



And I can't see anything in the output that it's somehow picking up on an hwloc I might have installed somewhere else (be it Open MPI or just hwloc by hand).



Maybe there are flags I need to pass? I do see reference to --with-hwloc=embedded, but it looks like configure decided to use that itself.



Thanks for any help,

Matt





[1] Note: I'm building on an Infiniband system so maybe I need to do a build with --with-device=ch4:ucx eventually, but that's a runtime thing. I figure it can't be involved with this error...right?



--

Matt Thompson, SSAI, Ld Scientific Programmer/Analyst

NASA GSFC,    Global Modeling and Assimilation Office

Code 610.1,  8800 Greenbelt Rd,  Greenbelt,  MD 20771

Phone: 301-614-6712                 Fax: 301-614-6246

http://science.gsfc.nasa.gov/sed/bio/matthew.thompson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20211215/fe5543f6/attachment-0001.html>


More information about the discuss mailing list