[MacPorts] #62070: mpif90-openmpi-gcc10 fails to link FORTRAN program

MacPorts noreply at macports.org
Wed Jan 20 18:15:46 UTC 2021


#62070: mpif90-openmpi-gcc10 fails to link FORTRAN program
----------------------------+----------------------
  Reporter:  Guymer         |      Owner:  mascguy
      Type:  defect         |     Status:  assigned
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:  2.6.4
Resolution:                 |   Keywords:  bigsur
      Port:  openmpi-gcc10  |
----------------------------+----------------------

Comment (by Guymer):

 As requested, I have tried out different OpenMPI versions.

 == Trying `openmpi-gcc9`

 The results were exactly the same.

 === C Example (Success)

 Here is the output:

 {{{
 ld: warning: dylib (/opt/local/lib/openmpi-gcc9/libmpi.dylib) was built
 for newer macOS version (11.1) than being linked (11.0)
 }}}

 === FORTRAN Example (Failure)

 Here is the output:

 {{{
 ld: warning: ld: warning: dylib (/opt/local/lib/openmpi-
 gcc9/libmpi_usempif08.dylib) was built for newer macOS version (11.1) than
 being linked (11.0)dylib (/opt/local/lib/openmpi-
 gcc9/libmpi_usempi_ignore_tkr.dylib) was built for newer macOS version
 (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-gcc9/libmpi_mpifh.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-gcc9/libmpi.dylib) was built
 for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-gcc9/libopen-rte.40.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-gcc9/libopen-pal.40.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: file not found:
 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL for
 architecture x86_64
 collect2: error: ld returned 1 exit status
 }}}

 == Trying `openmpi-default`

 The results were exactly the same (but with different warning/error
 messages).

 === C Example (Success)

 Here is the output:

 {{{
 In file included from bar.c:1:
 In file included from
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:64:
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:93:16:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         unsigned char   *_base;
                         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:93:16:
 note:
       insert '_Nullable' if the pointer may be null
         unsigned char   *_base;
                         ^
                           _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:93:16:
 note:
       insert '_Nonnull' if the pointer should never be null
         unsigned char   *_base;
                         ^
                           _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:32:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         int     (* _Nullable _read) (void *, char *, int);
                                           ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:32:
 note:
       insert '_Nullable' if the pointer may be null
         int     (* _Nullable _read) (void *, char *, int);
                                           ^
                                            _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:32:
 note:
       insert '_Nonnull' if the pointer should never be null
         int     (* _Nullable _read) (void *, char *, int);
                                           ^
                                            _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:40:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         int     (* _Nullable _read) (void *, char *, int);
                                                   ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:40:
 note:
       insert '_Nullable' if the pointer may be null
         int     (* _Nullable _read) (void *, char *, int);
                                                   ^
                                                    _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:138:40:
 note:
       insert '_Nonnull' if the pointer should never be null
         int     (* _Nullable _read) (void *, char *, int);
                                                   ^
                                                    _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:139:35:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                           ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:139:35:
 note:
       insert '_Nullable' if the pointer may be null
         fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                           ^
                                            _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:139:35:
 note:
       insert '_Nonnull' if the pointer should never be null
         fpos_t  (* _Nullable _seek) (void *, fpos_t, int);
                                           ^
                                            _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:32:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         int     (* _Nullable _write)(void *, const char *, int);
                                           ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:32:
 note:
       insert '_Nullable' if the pointer may be null
         int     (* _Nullable _write)(void *, const char *, int);
                                           ^
                                            _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:32:
 note:
       insert '_Nonnull' if the pointer should never be null
         int     (* _Nullable _write)(void *, const char *, int);
                                           ^
                                            _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:46:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         int     (* _Nullable _write)(void *, const char *, int);
                                                         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:46:
 note:
       insert '_Nullable' if the pointer may be null
         int     (* _Nullable _write)(void *, const char *, int);
                                                         ^
                                                          _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:140:46:
 note:
       insert '_Nonnull' if the pointer should never be null
         int     (* _Nullable _write)(void *, const char *, int);
                                                         ^
                                                          _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:144:18:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
         struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:144:18:
 note:
       insert '_Nullable' if the pointer may be null
         struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                         ^
                           _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_stdio.h:144:18:
 note:
       insert '_Nonnull' if the pointer should never be null
         struct __sFILEX *_extra; /* additions to FILE to not break ABI */
                         ^
                           _Nonnull
 In file included from bar.c:1:
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:67:13:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
 extern FILE *__stdinp;
             ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:67:13:
 note:
       insert '_Nullable' if the pointer may be null
 extern FILE *__stdinp;
             ^
               _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:67:13:
 note:
       insert '_Nonnull' if the pointer should never be null
 extern FILE *__stdinp;
             ^
               _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:41:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
                  int (* _Nullable)(void *, const char *, int),
                                         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:41:
 note:
       insert '_Nullable' if the pointer may be null
                  int (* _Nullable)(void *, const char *, int),
                                         ^
                                          _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:41:
 note:
       insert '_Nonnull' if the pointer should never be null
                  int (* _Nullable)(void *, const char *, int),
                                         ^
                                          _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:55:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
                  int (* _Nullable)(void *, const char *, int),
                                                       ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:55:
 note:
       insert '_Nullable' if the pointer may be null
                  int (* _Nullable)(void *, const char *, int),
                                                       ^
                                                        _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:386:55:
 note:
       insert '_Nonnull' if the pointer should never be null
                  int (* _Nullable)(void *, const char *, int),
                                                       ^
                                                        _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:387:44:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
                  fpos_t (* _Nullable)(void *, fpos_t, int),
                                            ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:387:44:
 note:
       insert '_Nullable' if the pointer may be null
                  fpos_t (* _Nullable)(void *, fpos_t, int),
                                            ^
                                             _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:387:44:
 note:
       insert '_Nonnull' if the pointer should never be null
                  fpos_t (* _Nullable)(void *, fpos_t, int),
                                            ^
                                             _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:388:41:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
                  int (* _Nullable)(void *));
                                         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:388:41:
 note:
       insert '_Nullable' if the pointer may be null
                  int (* _Nullable)(void *));
                                         ^
                                          _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:388:41:
 note:
       insert '_Nonnull' if the pointer should never be null
                  int (* _Nullable)(void *));
                                         ^
                                          _Nonnull
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:384:6:
 warning:
       pointer is missing a nullability type specifier (_Nonnull,
 _Nullable, or
       _Null_unspecified) [-Wnullability-completeness]
 FILE    *funopen(const void *,
         ^
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:384:6:
 note:
       insert '_Nullable' if the pointer may be null
 FILE    *funopen(const void *,
         ^
           _Nullable
 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h:384:6:
 note:
       insert '_Nonnull' if the pointer should never be null
 FILE    *funopen(const void *,
         ^
           _Nonnull
 13 warnings generated.
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libmpi.dylib) was built for
 newer macOS version (11.1) than being linked (11.0)
 }}}

 === FORTRAN Example (Failure)

 Here is the output:

 {{{
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libmpi_usempif08.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-
 mp/libmpi_usempi_ignore_tkr.dylib) was built for newer macOS version
 (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libmpi_mpifh.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libmpi.dylib) was built for
 newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libopen-rte.40.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: warning: dylib (/opt/local/lib/openmpi-mp/libopen-pal.40.dylib) was
 built for newer macOS version (11.1) than being linked (11.0)
 ld: file not found:
 /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL for
 architecture x86_64
 collect2: error: ld returned 1 exit status
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/62070#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list