code: def dlopen(ffi, *names):
      
      for name in names:
          for lib_name in (name, 'lib' + name):
              try:
                  path = ctypes.util.find_library(lib_name)
                  lib = ffi.dlopen(path or lib_name)
                  if lib:
                      return lib
              except OSError:
                  pass
      raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names))
docs: Try various names for the same library, for different platforms.