If liblove.so was built (--enable-shared), then linking the love executable with liblove.so produces this message: *** Warning: Linking the executable love against the loadable module *** liblove.so is not portable! *** Warning: lib liblove.so is a module, not a shared library If liblove.a was also built (--enable-static), then the executable will be linked with liblove.a which isn't what we wanted. If liblove.a was not built (--disable-static) then these additional messages appear: *** And there doesn't seem to be a static archive available *** The link will probably fail, sorry ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) file './.libs/liblove-0.10.so' for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Fix by building liblove as a dynamic library, not a module (bundle). --- platform/unix/genmodules.orig 2016-10-31 14:23:52.000000000 -0500 +++ platform/unix/genmodules 2024-05-04 19:56:01.000000000 -0500 @@ -142,7 +142,7 @@ # libLĂ–VE lib_LTLIBRARIES = liblove${love_suffix}.la -liblove${love_amsuffix}_la_LDFLAGS = -module -export-dynamic \$(LDFLAGS) +liblove${love_amsuffix}_la_LDFLAGS = -export-dynamic \$(LDFLAGS) liblove${love_amsuffix}_la_LIBADD = \ \$(SDL_LIBS) \$(freetype2_LIBS) \$(lua_LIBS)\ \$(openal_LIBS) \$(zlib_LIBS) \$(libmodplug_LIBS)\