Hi Gilles, Yes I can confirm that I ran make after manually editing the libtool file. I then ran “make -j 8” (on my Mac Pro) and the compilation terminated normally. I then ran install (to /opt/openmpi). I used the mpif90 from openmpi to compile a first-principles code without problem and it worked correctly (in parallel).
> On Apr 16, 2020, at 14:47, Gilles Gouaillardet via users > <users@lists.open-mpi.org> wrote: > > Good to know the issue is fixed! > > Just to make sure, can you confirm you ran configure, manually hacked > the generated libtool and then make && make install? > > By the way, the offending library is hwloc (that stands for HardWare > LOCality), and spellcheckers are not familiar with it > (iPad auto-corrects it to helicopter fwiw) > > Cheers, > > Gilles > > On Thu, Apr 16, 2020 at 2:28 PM フォンスポール J via users > <users@lists.open-mpi.org> wrote: >> >> 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 慶應義塾大学理工学部電子工学科 >>>> >>>> >>>> >>>> >>>> >>