--- a/modules/libfabric/include/osx/osd.h
+++ b/modules/libfabric/include/osx/osd.h
@@ -167,7 +167,17 @@ ssize_t ofi_recvmsg_tcp(SOCKET fd, struct msghdr *msg, int flags);
  * os_unfair_lock does not enforce fairness or lock ordering (hence
  * the name unfair), which is similar to pthread_spinlock.
  */
+#include <Availability.h>
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 101200
 #include <os/lock.h>
+#else
+#include <libkern/OSAtomic.h>
+#define OS_UNFAIR_LOCK_INIT OS_SPINLOCK_INIT
+#define os_unfair_lock OSSpinLock
+#define os_unfair_lock_lock OSSpinLockLock
+#define os_unfair_lock_trylock OSSpinLockTry
+#define os_unfair_lock_unlock OSSpinLockUnlock
+#endif
 
 typedef os_unfair_lock pthread_spinlock_t;
