ixml/test/test_document.c is missing the string.h include, therefore the compiler complains about an implicit declaration.
diff -up libupnp-1.6.21/ixml/test/test_document.c.orig libupnp-1.6.21/ixml/test/test_document.c
--- libupnp-1.6.21/ixml/test/test_document.c.orig 2010-10-19 19:31:19.000000000 +0200
+++ libupnp-1.6.21/ixml/test/test_document.c 2017-01-13 17:57:11.761856752 +0100
@@ -34,6 +34,7 @@
#include "ixml.h"
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <ctype.h>
Implicit declaration of strlen, that is.
Applied, thanks!