-# this line is required for libtool 1.5.26 but must not be present for libtool 2.2.4...
-AC_CONFIG_SUBDIRS(libltdl)
+# AC_CONFIG_SUBDIRS(libltdl) is required for libtool 1.5.26 but must not be present for
+# libtool 2.2.4. Problem seems to be that AC_LIB_LTDL (above) now calls AC_CONFIG_SUBDIRS
+# itself, through LTDL_INIT, _LTDL_SETUP, _LTDL_MODE_DISPATCH. We need to check the
+# condition that libltdl has already been registered with AC_CONFIG_SUBDIRS:
+m4_ifdef([_AC_SEEN_TAG(libltdl)], [], [AC_CONFIG_SUBDIRS(libltdl)])