4.0.5
I am trying to install Open MPI 4.0.5 on macOS 10.15 via Spack using AppleClang as the compiler. The instance runs on Azure Pipelines as part of my quality assurance scripts, since I don't own a mac.
git submodule status.N/A
Compiling OpenMPI fails with the following error messages:
PPFC profile/pwin_wait_f08.lo
FCLD libmpi_usempif08.la
ld: library not found for -levent_core
collect2: error: ld returned 1 exit status
make[2]: *** [libmpi_usempif08.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
==> Error: ProcessError: Command exited with status 2:
'make' '-j3'
6 errors found in build log:
353 checking the name lister (/usr/bin/nm -B) interface... BSD nm
354 checking for fgrep... /usr/bin/grep -F
355 checking if .proc/endp is needed... no
2055 checking if __sync_bool_compare_and_swap() gives correct results.
.. yes
2056 checking if .proc/endp is needed... no
2057 checking directive for setting text section... .text
2058 checking directive for exporting symbols... .globl
2059 checking for objdump... objdump
>> 2060 checking if .note.GNU-stack is needed... /Applications/Xcode_12.2
.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/b
in/objdump: error: 'conftest.o': Invalid/Unsupported object file
format
2061 no
2062 checking suffix for labels... :
2063 checking prefix for global symbol labels... _
2064 checking prefix for lsym labels... L
2065 checking prefix for function in .type...
2066 checking if .size is needed... no
...
16982 PPFC profile/pwin_test_f08.lo
16983 PPFC profile/pwin_unlock_f08.lo
16984 PPFC profile/pwin_unlock_all_f08.lo
16985 PPFC profile/pwin_wait_f08.lo
16986 FCLD libmpi_usempif08.la
16987 ld: library not found for -levent_core
>> 16988 collect2: error: ld returned 1 exit status
>> 16989 make[2]: *** [libmpi_usempif08.la] Error 1
>> 16990 make[1]: *** [all-recursive] Error 1
>> 16991 make: *** [all-recursive] Error 1
cc @jjhursey @jsquyres @gpaulsen @rhc54 since the last change I can see was from #7698
Is libevent an optional or required dependency of Open MPI? Is it a dependency of Open MPI on all platforms or only on macOS?
Potentially it's only a dependency declaration that is missing in Spack.
It is required on all platforms.
Open MPI has an embedded copy of libevent, however. I think your issue is this: https://www.open-mpi.org/faq/?category=building#libevent-or-hwloc-errors-when-linking-fortran
Thanks a lot, will migrate this downstream to Spack then!
馃憤
Be sure to also read: https://www.open-mpi.org/faq/?category=building#internal-or-external-hwloc-and-libevent
Thanks, Jeff!