Index: src/libmw/deps/ghc/include/ghc/filesystem.hpp
--- src/libmw/deps/ghc/include/ghc/filesystem.hpp.orig
+++ src/libmw/deps/ghc/include/ghc/filesystem.hpp
@@ -52,6 +52,8 @@
 #define GHC_OS_MACOS
 #elif defined(__linux__)
 #define GHC_OS_LINUX
+#elif defined(__OpenBSD__)
+#define GHC_OS_LINUX
 #elif defined(_WIN64)
 #define GHC_OS_WINDOWS
 #define GHC_OS_WIN64
@@ -1419,7 +1421,7 @@ GHC_INLINE std::string systemErrorText(ErrorNumber cod
     std::string msg = toUtf8(std::wstring((LPWSTR)msgBuf));
     LocalFree(msgBuf);
     return msg;
-#elif defined(GHC_OS_MACOS) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) || (defined(GHC_OS_ANDROID) && __ANDROID_API__ < 23)
+#elif defined(GHC_OS_MACOS) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) || (defined(GHC_OS_ANDROID) && __ANDROID_API__ < 23) || defined(__OpenBSD__)
     char buffer[512];
     int rc = strerror_r(code ? code : errno, buffer, sizeof(buffer));
     return rc == 0 ? (const char*)buffer : "Error in strerror_r!";
