Opened 15 months ago

Closed 15 months ago

Last modified 14 months ago

#66925 closed defect (fixed)

mpich @4.1 is broken on <10.12: fatal error: os/lock.h: No such file or directory

Reported by: barracuda156 Owned by: eborisch (Eric A. Borisch)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: mpich

Description (last modified by barracuda156)

In file included from ./include/ofi_osd.h:60,
                 from ./include/ofi_abi.h:38,
                 from ./include/ofi.h:49,
                 from src/log.c:41:
./include/osx/osd.h:170:10: fatal error: os/lock.h: No such file or directory
  170 | #include <os/lock.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[3]: *** [src/libfabric_la-log.lo] Error 1
In file included from ./include/ofi_osd.h:60,
                 from ./include/ofi_abi.h:38,
                 from ./include/ofi.h:49,
                 from ./include/ofi_util.h:57,
                 from src/fabric.c:46:
./include/osx/osd.h:170:10: fatal error: os/lock.h: No such file or directory
  170 | #include <os/lock.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[3]: *** [src/libfabric_la-fabric.lo] Error 1
In file included from ./include/ofi_osd.h:60,
                 from ./include/ofi_abi.h:38,
                 from ./include/ofi.h:49,
                 from src/fi_tostr.c:45:
./include/osx/osd.h:170:10: fatal error: os/lock.h: No such file or directory
  170 | #include <os/lock.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[3]: *** [src/libfabric_la-fi_tostr.lo] Error 1
In file included from ./include/ofi_osd.h:60,
                 from ./include/ofi_perf.h:40,
                 from src/perf.c:41:
./include/osx/osd.h:170:10: fatal error: os/lock.h: No such file or directory
  170 | #include <os/lock.h>
      |          ^~~~~~~~~~~
compilation terminated.

This commit breaks the build: https://github.com/ofiwg/libfabric/commit/476c8aeab92652f9ee889fa51f8a466b2083c90a Function in question exists only on 10.12+: https://developer.apple.com/documentation/os/os_unfair_lock

Change History (4)

comment:1 Changed 15 months ago by barracuda156

Description: modified (diff)
Keywords: tiger leopard snowleopard removed
Summary: mpich @4.1 is broken on some systems: fatal error: os/lock.h: No such file or directorympich @4.1 is broken on <10.12: fatal error: os/lock.h: No such file or directory

comment:2 Changed 15 months ago by Eric A. Borisch <eborisch@…>

Resolution: fixed
Status: assignedclosed

comment:3 Changed 15 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I believe this is that type of situation that legacy-support was designed for.
I opened a pull request to partially implement os/lock.h using OSSpinLock in legacy-support.
mpich could then add something along the lines of legacysupport.newest_darwin_requires_legacy 15.

comment:4 Changed 14 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

In c39f56bd335ac0f8692a5c67a9e5f0630dbbed58/macports-legacy-support (master):

partially implement os/lock.h using OSSpinLock

See #66925

Note: See TracTickets for help on using tickets.