diff -Nru orig/IP/src/Makevars.ucrt patched/IP/src/Makevars.ucrt
--- orig/IP/src/Makevars.ucrt	1970-01-01 01:00:00.000000000 +0100
+++ patched/IP/src/Makevars.ucrt	2024-02-12 17:22:55.918826800 +0100
@@ -0,0 +1,19 @@
+ifeq (,$(shell pkg-config --version 2>/dev/null))
+  PKG_LIBS = \
+    -lidn2 -lunistring -lRiconv -lcharset -lws2_32
+else
+  PKG_LIBS = $(shell pkg-config --libs libidn 2>/dev/null)
+  ifeq (,$(PKG_LIBS))
+    PKG_LIBS = $(shell pkg-config --libs libidn2)
+  else
+    PKG_CFLAGS = -D__RIP_IDN__
+  endif
+endif
+
+PKG_LIBS += -lws2_32
+
+all: clean 
+
+clean:
+	rm -f $(SHLIB) $(OBJECTS)
+
diff -Nru orig/IP/src/Rip-host-info.c patched/IP/src/Rip-host-info.c
--- orig/IP/src/Rip-host-info.c	2024-01-10 19:42:58.000000000 +0100
+++ patched/IP/src/Rip-host-info.c	2024-02-12 17:15:50.478110000 +0100
@@ -849,7 +849,7 @@
   return Rip;
 #else
   sprintf(errmsg, "unavailable '%s' function at line %d in file '%s'.", __func__, __LINE__, __FILE__);
-  error(errmsg);
+  error("%s", errmsg);
   return ScalarLogical(0);
 #endif
 }
