Opened 3 years ago

Closed 3 years ago

#61492 closed defect (fixed)

Cannot build openmpi-gcc10, mpich-gcc10, etc. on macOS 11.0.1 Big Sur, Xcode 12.2

Reported by: ChristopherMayes (Christopher Mayes) Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc: rhaas80 (Roland Haas), mkuron (Michael Kuron), Guymer (Thomas Guymer), michaellass (Michael Lass), mascguy (Christopher Nielsen), nhchan, SpikeLightfoot, dliessi (Davide Liessi)
Port: openmpi mpich

Description (last modified by mf2k (Frank Schima))

I am unable to install any *mpi*gcc10 port on the latest macOS 11.0.1 Big Sur, Xcode 12.2.

Full main.log attached

Undefined symbols for architecture x86_64:
  "_mca_allocator_component_lookup", referenced fr
      _common_sm_mpool_create in common_sm_mpool.o
  "_opal_allocator_base_framework", referenced fro
      _common_sm_mpool_create in common_sm_mpool.o
  "_opal_class_init_epoch", referenced from:
      _attach_and_init in common_sm.o
  "_opal_class_initialize", referenced from:
      _attach_and_init in common_sm.o
  "_opal_compare_proc", referenced from:
      _mca_common_sm_local_proc_reorder in common_
  "_opal_hwloc_base_membind", referenced from:
      _mca_common_sm_mpool_alloc in common_sm_mpoo
  "_opal_list_item_t_class", referenced from:
      _mca_common_sm_module_t_class in common_sm.o
  "_opal_output", referenced from:
      _attach_and_init in common_sm.o
      _common_sm_mpool_create in common_sm_mpool.o
  "_opal_proc_local_get", referenced from:
      _attach_and_init in common_sm.o
  "_opal_shmem_ds_copy", referenced from:
      _attach_and_init in common_sm.o
  "_opal_shmem_segment_attach", referenced from:
      _attach_and_init in common_sm.o
  "_opal_shmem_segment_create", referenced from:
      _mca_common_sm_module_create_and_attach in c
  "_opal_shmem_segment_detach", referenced from:
      _attach_and_init in common_sm.o
      _mca_common_sm_fini in common_sm.o
  "_opal_shmem_unlink", referenced from:
      _mca_common_sm_module_unlink in common_sm.o
  "_opal_show_help", referenced from:
      _attach_and_init in common_sm.o
  "_opal_strerror", referenced from:
      _attach_and_init in common_sm.o
  "_opal_uses_threads", referenced from:
      _sm_module_finalize in common_sm_mpool.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [libmca_common_sm.la] Error 1

Attachments (1)

main.log (774.9 KB) - added by ChristopherMayes (Christopher Mayes) 3 years ago.
Log File /openmpi-gcc10/main.log

Download all attachments as: .zip

Change History (28)

Changed 3 years ago by ChristopherMayes (Christopher Mayes)

Attachment: main.log added

Log File /openmpi-gcc10/main.log

comment:1 Changed 3 years ago by mf2k (Frank Schima)

In the future, please use WikiFormatting.

comment:2 Changed 3 years ago by mf2k (Frank Schima)

Description: modified (diff)
Keywords: openmpi-gcc10 removed

comment:3 Changed 3 years ago by jxy (Xiao-Yong)

It seems to be related to libtool.

https://github.com/open-mpi/ompi/issues/8218

comment:4 Changed 3 years ago by jxy (Xiao-Yong)

Running ./autoget.sh, which updated all the libtool.m4, fixed the build for mpich-gcc10.

comment:5 Changed 3 years ago by rjs110112

I'm having the same problem. Sudo port install libtool doesn't help as well.

comment:6 Changed 3 years ago by jxy (Xiao-Yong)

It's the packaged libtool.m4 in the source distribution inside mpich and openmpi. The libtool installed by macports has the proper patch. For openmpi, you need to run autogen.pl, and for mpich autogen.sh. Maybe we can also patch all the libtool.m4 files instead.

comment:7 Changed 3 years ago by kencu (Ken)

or change the deployment target to 10.16 for now, until it's fixed

comment:8 Changed 3 years ago by rhaas80 (Roland Haas)

Cc: rhaas80 added

comment:9 Changed 3 years ago by mkuron (Michael Kuron)

Cc: mkuron added

comment:10 in reply to:  6 Changed 3 years ago by astroboylrx (Rixin Li)

Replying to jxy:

It's the packaged libtool.m4 in the source distribution inside mpich and openmpi. The libtool installed by macports has the proper patch. For openmpi, you need to run autogen.pl, and for mpich autogen.sh. Maybe we can also patch all the libtool.m4 files instead.

This method works for me while installing openmpi-gcc9 or mpich-gcc9. After running autogen, port install then directly starts building processes. It also works for openmpi-clang +gcc9 and mpich-clang +gcc9. However, it fails when I tried to install mpich-clang80 +gcc9, seemingly because something makes port install re-run configuration anyway and reports failed to configure (log info below).

configure:6487: checking whether the C compiler works
configure:6509: /opt/local/bin/clang-mp-8.0 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -arch x86_64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk conftest.c  >&5
clang: error: invalid version number in 'MACOSX_DEPLOYMENT_TARGET=11.0'
configure:6513: $? = 1
configure:6551: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Open MPI"
| #define PACKAGE_TARNAME "openmpi"
| #define PACKAGE_VERSION "4.0.1"
| #define PACKAGE_STRING "Open MPI 4.0.1"
| #define PACKAGE_BUGREPORT "http://www.open-mpi.org/community/help/"
| #define PACKAGE_URL ""
| #define OPAL_ARCH "i386-apple-darwin20.1.0"
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:6556: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_r
elease_tarballs_ports_science_openmpi/openmpi-clang80/work/build':
configure:6558: error: C compiler cannot create executables
See `config.log' for more details

How should I fix this error? Any suggestions would be greatly appreciated!

Last edited 3 years ago by astroboylrx (Rixin Li) (previous) (diff)

comment:11 Changed 3 years ago by Guymer (Thomas Guymer)

Cc: Guymer added

comment:12 Changed 3 years ago by Guymer (Thomas Guymer)

Hi, I recently updated to Big Sur and this is now the only port that doesn't install for me. Is there any chance that the libtool.m4 file could be patched and an update pushed out please? Thanks

comment:13 Changed 3 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:14 Changed 3 years ago by jmroot (Joshua Root)

Cc: eborisch added
Port: openmpi mpich added; openmpi-gcc10 removed

comment:15 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:16 Changed 3 years ago by nhchan

Cc: nhchan added

comment:17 Changed 3 years ago by michaellass (Michael Lass)

For OpenMPI, this seems to be fixed in version 4.1.0, released a week ago. At least they mention Big Sur in the changelog (https://raw.githubusercontent.com/open-mpi/ompi/v4.1.x/NEWS) and I was able to build the port after adjusting version and checksums in the Portfile.

I think mascguy is working on the openmpi port currently. Do you want to update it to 4.1.0 as well or should I send a pull request?

comment:18 in reply to:  17 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to michaellass:

For OpenMPI, this seems to be fixed in version 4.1.0, released a week ago. At least they mention Big Sur in the changelog (https://raw.githubusercontent.com/open-mpi/ompi/v4.1.x/NEWS) and I was able to build the port after adjusting version and checksums in the Portfile.

I think mascguy is working on the openmpi port currently. Do you want to update it to 4.1.0 as well or should I send a pull request?

Go ahead and send a pull request.

comment:20 Changed 3 years ago by SpikeLightfoot

Cc: SpikeLightfoot added

comment:21 Changed 3 years ago by Michael Lass <michael.lass@…>

In 772b1936909dba5b0096c6862f189bcde67d4dab/macports-ports (master):

openmpi: update to 4.1.0

This fixes the build on macOS 11 Big Sur.

See: #61492

comment:22 Changed 3 years ago by dliessi (Davide Liessi)

Cc: dliessi added

comment:23 Changed 3 years ago by mascguy (Christopher Nielsen)

It looks like the fix was committed last night, so this can be closed.

comment:24 in reply to:  23 ; Changed 3 years ago by dliessi (Davide Liessi)

Replying to mascguy:

It looks like the fix was committed last night, so this can be closed.

Only for openmpi, mpich wasn't changed and is still affected.

comment:25 in reply to:  24 Changed 3 years ago by mascguy (Christopher Nielsen)

Replying to dliessi:

Replying to mascguy:

It looks like the fix was committed last night, so this can be closed.

Only for openmpi, mpich wasn't changed and is still affected.

Fair enough. Can someone assign this to eborisch?

comment:26 Changed 3 years ago by mf2k (Frank Schima)

Cc: eborisch removed
Owner: set to eborisch
Status: newassigned

comment:27 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

Since openmpi was fixed, let's call this ticket closed and use one of the several other ticket about the mpich problem to track getting it fixed in mpich, such as #61909.

Note: See TracTickets for help on using tickets.