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 慶應義塾大学理工学部電子工学科
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>> 

Reply via email to