diff --git a/tests/unix/ffi_callback.py b/tests/unix/ffi_callback.py
index 1d610365c7ff715dbb332c91d660c8e0397da80c..7f8af15b370fa0af59db07575cfdfffb08de622a 100644
--- a/tests/unix/ffi_callback.py
+++ b/tests/unix/ffi_callback.py
@@ -5,7 +5,18 @@ except ImportError:
     print("SKIP")
     sys.exit()
 
-libc = ffi.open("libc.so.6")
+
+def ffi_open(names):
+    err = None
+    for n in names:
+        try:
+            mod = ffi.open(n)
+            return mod
+        except OSError as e:
+            err = e
+    raise err
+
+libc = ffi_open(('libc.so', 'libc.so.0', 'libc.so.6', 'libc.dylib'))
 
 qsort = libc.func("v", "qsort", "piip")