diff -ru clinkcc.orig/configure.in clinkcc/configure.in
--- clinkcc.orig/configure.in	2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/configure.in	2005-11-14 18:08:13.000000000 +0100
@@ -150,6 +150,7 @@
 AC_CHECK_FUNCS([iconv])
 AC_CHECK_HEADERS([iconv.h])
 AC_CHECK_LIB([iconv],[main])
+AM_ICONV
 
 ##############################
 # Checks for pthread
diff -ru clinkcc.orig/src/cybergarage/xml/XML.cpp clinkcc/src/cybergarage/xml/XML.cpp
--- clinkcc.orig/src/cybergarage/xml/XML.cpp	2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/src/cybergarage/xml/XML.cpp	2005-11-14 18:08:13.000000000 +0100
@@ -123,7 +123,7 @@
 	char *cpbuf = strdup(str);
 	if (cpbuf == NULL)
 		return NULL;
-	const char *inbuf = cpbuf;
+	ICONV_CONST char *inbuf = cpbuf;
 	size_t inbyteleft = strlen(str);
 	size_t outbufSize = inbyteleft * sizeof(UnicodeStr) * 4;
 	UnicodeStr *outbuf = new UnicodeStr[outbufSize + 1];
diff -ru clinkcc.orig/src/cybergarage/xml/libxml2/Libxml2Parser.cpp clinkcc/src/cybergarage/xml/libxml2/Libxml2Parser.cpp
--- clinkcc.orig/src/cybergarage/xml/libxml2/Libxml2Parser.cpp	2005-11-14 18:08:07.000000000 +0100
+++ clinkcc/src/cybergarage/xml/libxml2/Libxml2Parser.cpp	2005-11-14 18:08:44.000000000 +0100
@@ -124,7 +124,7 @@
     xmlNodePtr child = cur->xmlChildrenNode;
     while ( child != NULL ) {
 
-      Node *newChildNode = convertToCLinkFormat( doc, child, depth  1 );
+      Node *newChildNode = convertToCLinkFormat( doc, child, depth );
       if ( newChildNode ) {
 	newNode->addNode( newChildNode );
       }
