import os from cffi import FFI ffi = FFI() def _dlopen(*names): for name in names: try: lib = ffi.dlopen(name) print(f"Loaded {name}") return lib except OSError as e: print(f"Failed to load {name}: {e}") return None print("Checking gobject...") _dlopen('libgobject-2.0-0', 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0.so.0') print("\nChecking pango...") _dlopen('libpango-1.0-0', 'pango-1.0-0', 'pango-1.0', 'libpango-1.0.so.0') print("\nChecking harfbuzz...") _dlopen('libharfbuzz-0', 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz.so.0') print("\nChecking fontconfig...") _dlopen('libfontconfig-1', 'fontconfig-1', 'fontconfig', 'libfontconfig.so.1') print("\nChecking pangoft2...") _dlopen('libpangoft2-1.0-0', 'pangoft2-1.0-0', 'pangoft2-1.0', 'libpangoft2-1.0.so.0')