Dear Gilles, I owe you thanks for your help. I found the problem and it is entirely my fault. While I was accurate in describing my attempts and the results to you, the ultimate cause was that I had the homebrew installed openmpi installed. I had removed it, when I first encountered the hemlock problem and not being able to solve it, I installed the homebrew (gcc-9 and gfortran) version. I encountered problems with some of the first-principles code I used using gfortran and hence went back to trying to compile icc fort combination with openmpi. I realized this this morning and having removed the offending homebrew installation of openmpi, my intel compiler version of openmpi compiled nicely.
Sorry for your trouble. > On Apr 16, 2020, at 11:49, Gilles Gouaillardet via users > <users@lists.open-mpi.org> wrote: > > Paul, > > My ifort eval license on OSX has expired so I cannot test myself, > sorry about that. > > It has been reported that -Wl,-force_load fixed the issue. > Could you please double check that by > > cd ompi/mpi/fortran/use-mpi-f08 > make > rm libmpi_usempif08.la > make V=1 libmpi_usempif08.la > > assuming libtool was manually updated, you should see > -Wl,-force_load,...la > instead of > -force_load,...la > > if -Wl,-force_load is used but the library are not picked, then this > is yet an other issue > > > Cheers, > > Gilles > > On Wed, Apr 15, 2020 at 8:50 PM フォンスポール J via users > <users@lists.open-mpi.org> wrote: >> >> >> Hi Gilles, >> >> Thank you for your suggestion. I changed the line -wl=“” as you suggested >> in the file “libtool” and it lead to the same linking error with hdlock. I >> modified libtool in the main directory as follows: >> >> >> >> # ### BEGIN LIBTOOL TAG CONFIG: FC >> >> # The linker used to build libraries. >> LD="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" >> >> # How to create reloadable object files. >> reload_flag=" -r" >> reload_cmds="\$LTCC \$LTCFLAGS -nostdlib \$wl-r -o \$output\$reload_objs" >> >> # Commands used to build an old-style archive. >> old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" >> >> # A language specific compiler. >> CC="ifort" >> >> # Is the compiler the GNU compiler? >> with_gcc=no >> >> # Compiler flag to turn off builtin functions. >> no_builtin_flag="" >> >> # Additional compiler flags for building library objects. >> pic_flag=" -fno-common" >> >> # How to pass a linker flag through the compiler. >> wl=-Wl, >> >> # Compiler flag to prevent dynamic linking. >> link_static_flag="" >> >> After running “make clean”, I ran make again and found the same error. Any >> ideas? >> >> FCLD libmpi_usempif08.la >> ld: library not found for -lhwloc >> make[2]: *** [libmpi_usempif08.la] Error 1 >> make[1]: *** [all-recursive] Error 1 >> make: *** [all-recursive] Error 1 >> (base) Andromeda:openmpi-4.0.3 paulfons$ >> [Restored Apr 15, 2020 14:56:10] >> Last login: Wed Apr 15 14:56:09 on ttys005 >> >> >> >> On Apr 15, 2020, at 0:06, Gilles Gouaillardet via users >> <users@lists.open-mpi.org> wrote: >> >> Paul, >> >> this issue is likely the one already been reported at >> https://github.com/open-mpi/ompi/issues/7615 >> >> Several workarounds are documented, feel free to try some of them and >> report back >> (either on GitHub or this mailing list) >> >> Cheers, >> >> Gilles >> >> On Tue, Apr 14, 2020 at 11:18 PM フォンスポール J via users >> <users@lists.open-mpi.org> wrote: >> >> >> I am attempting to build the latest stable version of openmpi >> (openmpi-4.0.3) on Mac OS 10.15.4 using the latest intel compilers fort, >> icc, iclc (19.1.1.216 20200306). I am using the configuration >> >> >> ./configure --prefix=/opt/openmpi CC=icc CXX=icpc F77=ifort FC=ifort >> --with-hwloc=internal --with-libevent=internal >> >> My initial attempt to make opemmpi failed with the error -lhwloc not found. >> I then read the FAQ on the open-mpi homepage which stated that the problem >> often arises when compilers are mixed (they are not here). The FAQ also >> suggested that the options --with-hwloc=internal --with-libevent=internal >> would force the build process to use an internal version of hwloc. There >> were no other errors in the make process so presumably the hwloc internal >> library was successfully built. The error messages are reprinted below (they >> match the hwloc FAQ exactly). I don’t understand how to work around the >> problem however and suggestions would be welcome. I do have homebrew >> installed, but I would think that the explicit options to use the internal >> hwlock library would avoid referencing other libraries. Note the same >> problem occurs when configure is specified with gcc-9 and gfortran (from >> homebrew). Thanks four your help in advance. >> >> amke >> . >> . >> . >> >> make[1]: Nothing to be done for `all'. >> Making all in mpi/fortran/use-mpi-f08 >> FCLD libmpi_usempif08.la >> ifort: command line warning #10006: ignoring unknown option >> '-force_load,mod/.libs/libforce_usempif08_internal_modules_to_be_built.a' >> ifort: command line warning #10006: ignoring unknown option >> '-force_load,bindings/.libs/libforce_usempif08_internal_bindings_to_be_built.a' >> ifort: command line warning #10006: ignoring unknown option >> '-force_load,../../../../ompi/mpiext/pcollreq/use-mpi-f08/.libs/libmpiext_pcollreq_usempif08.a' >> ifort: command line warning #10006: ignoring unknown option >> '-force_load,base/.libs/libusempif08_ccode.a' >> ld: library not found for -lhwloc >> make[1]: *** [libmpi_usempif08.la] Error 1 >> make: *** [all-recursive] Error 1 >> >> >> >> >> >> Paul Fons >> >> >> Keio University, Faculty of Science and Technology, Department of >> Electronics and Information Engineering >> >> 〒223-8522 3-14-1 Hiyoshi, Kohoku-ku, Yokohama, Kanagawa 223-8522, Japan >> Keio University Faculty of Science and Technology Yagami Campus. >> >> 〒223-8522 横浜市港北区日吉3-14-1 慶應義塾大学理工学部電子工学科 >> >> >> >> >>