+#ifdef WITHOUT_LIBLTDL
+#ifdef WITH_DLOPEN
+#include <dlfcn.h>
+
+#ifdef RTLD_SELF
+ node->type = (EAP_TYPE *)lt_dlsym(RTLD_SELF, buffer);
+ if (node->type) goto open_self;
+#endif
+#endif
+#endif
+
+ /* Link the loaded EAP-Type */
+ node->handle = lt_dlopenext(buffer);
+ if (node->handle == NULL) {
+ free(node);
+ radlog(L_ERR, "rlm_eap: Failed to link EAP-Type/%s: %s",
+ eaptype_name, lt_dlerror());
+ return -1;
+ }
+