Le 14/12/2021 à 21:40, Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] via discuss a écrit :
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'
Hello I think this error usually occurs when compiling against hwloc 2.x (such as the one embedded inside MPICH) but linking against an old hwloc 1.x. Do you have such an old hwloc installed on this machine? The first line below likely says yes. I don't know why configure would mix them like this, but you should be able to avoid the error by uninstalling the old hwloc (or with a chmod 0 on its libhwloc.so during your configure). Brice
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_
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss