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-11.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 2023-12-03 06:44:36.000000000 -0600 +++ platform/unix/genmodules 2024-05-05 18:55:35.000000000 -0500 @@ -148,7 +148,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)\