#68226 closed defect (fixed)

openmpi-default @4.1.4: error: Could not determine global symbol label prefix

Reported by: chaochinyang (Chao-Chin Yang) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: ventura sonoma haspatch Cc: eborisch (Eric A. Borisch), gfiumara (Greg Fiumara), rmclaren, isolated-matrix, Michael-P-Allen (Mike Allen), adsche, ebothmann, mkuron (Michael Kuron), astroboylrx (Rixin Li), massonseb, willic3 (Charles Williams), ChristopherMayes (Christopher Mayes), EJFielding (Eric Fielding)
Port: openmpi-default

Description (last modified by chaochinyang (Chao-Chin Yang))

Failed to configure openmpi-default after recent update of Xcode to 15.0:

configure:7146: /usr/bin/clang -E -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk conftest.c
conftest.c:10:10: fatal error: 'ac_nonexistent.h' file not found
#include <ac_nonexistent.h>
         ^~~~~~~~~~~~~~~~~~
1 error generated.

Attachments (3)

config.log (477.8 KB) - added by chaochinyang (Chao-Chin Yang) 14 months ago.
config log
main.log (61.8 KB) - added by chaochinyang (Chao-Chin Yang) 14 months ago.
main log
Portfile (14.9 KB) - added by carlodefalco 11 months ago.
portfile for openmpi 4.1.6

Download all attachments as: .zip

Change History (31)

Changed 14 months ago by chaochinyang (Chao-Chin Yang)

Attachment: config.log added

config log

Changed 14 months ago by chaochinyang (Chao-Chin Yang)

Attachment: main.log added

main log

comment:1 Changed 14 months ago by chaochinyang (Chao-Chin Yang)

Description: modified (diff)

comment:2 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to mascguy
Status: newassigned
Summary: openmpi-default @4.1.4: failed to configure; 'ac_nonexistent.h' file not foundopenmpi-default @4.1.4: error: Could not determine global symbol label prefix

The real error message in the main.log was:

:info:configure configure: error: Could not determine global symbol label prefix

However I don't see an obvious reason for that in the config.log. Maybe an earlier error caused it.

comment:3 Changed 14 months ago by mascguy (Christopher Nielsen)

Cc: eborisch added
Keywords: ventura added

comment:4 Changed 14 months ago by mmphys

I have the same failure (on arm64 fwiw).

:info:configure configure: error: Could not determine global symbol label prefix

Seemingly because of an objdump failure 4 lines earlier in the log

:info:configure checking if .note.GNU-stack is needed... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump: error: 'conftest.o': Invalid/Unsupported object file format

I gather MacPorts is executing objdump -x file. I tried objdump -x and --file-headers, but this fails on any object file, even an empty command line tool project, e.g.:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump --file-headers main.o

main.o:	file format mach-o arm64
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/objdump: error: 'main.o': Invalid/Unsupported object file format

Assuming the image being checked was built by Xcode clang and is a mach-o (which is true in my case) presumably this openmpi-default configure test should use otool instead of objdump?

There's obviously a lot of history about objdump vs otool I'm not up to speed on ...

Last edited 13 months ago by mmphys (previous) (diff)

comment:5 Changed 13 months ago by gfiumara (Greg Fiumara)

Cc: gfiumara added

comment:6 Changed 13 months ago by gfiumara (Greg Fiumara)

A patch landed upstream in 4.1.6, which resolves this issue for me under macOS 14.0 Sonoma with Xcode 15 on Apple M1. I submitted a pull request for this.

comment:7 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: rmclaren added
Keywords: sonoma haspatch added

Has duplicate #68552.

comment:8 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: isolated-matrix added

Has duplicate #68641.

comment:9 Changed 12 months ago by isolated-matrix

Apologies if this is a stupid question (I can work my way around the command line/terminal, but I have very little experience in programming and coding, so I want to make sure I'm understanding this correctly), but does this mean there is no fix for installing openMPI through MacPorts yet?

In #68552, it is suggested that there is a fix, but I don't see any workarounds here. Is the fix just to compile openMPI manually using the patched code linked above? Because it doesn't look like that's been approved yet.

comment:10 Changed 12 months ago by namus (Suman Chakrabarty)

Same problem

comment:11 Changed 12 months ago by Michael-P-Allen (Mike Allen)

Cc: Michael-P-Allen added

comment:12 Changed 12 months ago by adsche

Cc: adsche added

comment:13 Changed 12 months ago by ebothmann

Cc: ebothmann added

comment:14 Changed 12 months ago by mkuron (Michael Kuron)

Cc: mkuron added

comment:15 Changed 12 months ago by astroboylrx (Rixin Li)

Cc: astroboylrx added

comment:16 Changed 12 months ago by massonseb

Cc: massonseb added

comment:17 Changed 12 months ago by willic3 (Charles Williams)

Cc: willic3 added

comment:18 Changed 11 months ago by isolated-matrix

Is the 4.1.6 update going to make it to MacPorts?

comment:19 in reply to:  18 Changed 11 months ago by mascguy (Christopher Nielsen)

Replying to isolated-matrix:

Is the 4.1.6 update going to make it to MacPorts?

Definitely, I've simply been buried with work for my day job. But will try to make time over the next few weeks.

I'm so sorry for the delay on this folks!

Changed 11 months ago by carlodefalco

Attachment: Portfile added

portfile for openmpi 4.1.6

comment:20 Changed 11 months ago by carlodefalco

I tried to just bump the version to 4.1.6 in the portfile and it installed fine for me in sonoma/M2 the updated portfile is attached attachment:Portfile

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:21 in reply to:  20 Changed 11 months ago by willic3 (Charles Williams)

Replying to carlodefalco:

I tried to just bump the version to 4.1.6 in the portfile and it installed fine for me in sonoma/M2 the updated portfile is attached attachment:Portfile

I can confirm that this portfile works for me on a mid-2018 Intel Macbook Pro running Sonoma 14.1.

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:22 in reply to:  20 Changed 11 months ago by isolated-matrix

Replying to carlodefalco:

I tried to just bump the version to 4.1.6 in the portfile and it installed fine for me in sonoma/M2 the updated portfile is attached attachment:Portfile

I'm sorry, but I don't know how to install it from that file. Is it going to be uploaded to the MacPorts 'tree' (if that's the correct word), or are there further approval processes to go through?

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:23 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: ChristopherMayes added

Has duplicate #68967.

comment:24 Changed 11 months ago by EJFielding (Eric Fielding)

Cc: EJFielding added

comment:25 Changed 11 months ago by Michael-P-Allen (Mike Allen)

The Portfile uploaded by @carlodefalco worked on my 2018 Intel Mac Mini running Ventura 13.6.3 with XCode 15.1. @isolated-matrix I followed the instructions at https://trac.macports.org/wiki/howto/Upgrade except that there is no need to edit the original Portfile, simply replace it (after making a backup copy) with the new one. I'm regarding this as a temporary workaround until a newer version finds its way into the Macports system.

comment:26 in reply to:  25 ; Changed 11 months ago by isolated-matrix

Replying to Michael-P-Allen:

The Portfile uploaded by @carlodefalco worked on my 2018 Intel Mac Mini running Ventura 13.6.3 with XCode 15.1. @isolated-matrix I followed the instructions at https://trac.macports.org/wiki/howto/Upgrade except that there is no need to edit the original Portfile, simply replace it (after making a backup copy) with the new one. I'm regarding this as a temporary workaround until a newer version finds its way into the Macports system.

Ah, thank you, that worked! One thing, though... the installation didn't actually create an mpirun binary; instead, I have a series of *-openmpi-mp files in my /opt/local/bin directory. Is that what was supposed to happen, or did I do something incorrectly in my installation? I'm not sure that the programs which need OpenMPI are going to recognise those binaries...

comment:27 in reply to:  26 Changed 11 months ago by Michael-P-Allen (Mike Allen)

Replying to isolated-matrix:

Replying to Michael-P-Allen:

The Portfile uploaded by @carlodefalco worked on my 2018 Intel Mac Mini running Ventura 13.6.3 with XCode 15.1. @isolated-matrix I followed the instructions at https://trac.macports.org/wiki/howto/Upgrade except that there is no need to edit the original Portfile, simply replace it (after making a backup copy) with the new one. I'm regarding this as a temporary workaround until a newer version finds its way into the Macports system.

Ah, thank you, that worked! One thing, though... the installation didn't actually create an mpirun binary; instead, I have a series of *-openmpi-mp files in my /opt/local/bin directory. Is that what was supposed to happen, or did I do something incorrectly in my installation? I'm not sure that the programs which need OpenMPI are going to recognise those binaries...

We should avoid cluttering this trac report, and people’s emails, with general installation issues. Nonetheless (apologies all) I believe that this is expected behaviour. At the end of the installation, a usage note will have appeared, saying that you should do something like sudo port select --set mpi openmpi-mp-fortran to make the Macports binaries the default ones. But please check this yourself to be sure.

comment:28 Changed 10 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 74d90db04674fb5750552aa68598e9bb6612da36/macports-ports (master):

openmpi: update to 4.1.6

Fixes: #68226

Note: See TracTickets for help on using tickets.