See https://bugs.archlinux.org/task/24866 Comment by Anton Komolov (xRemaLx) - Tuesday, 21 February 2012, 06:17 GMT On my system (64bit), I use this patch for a month. No more segfaults :) Problem is solved by the patch: mixing 32-bit and 64 bit pointers. This happens if the compiler does not find a definition of the standard functions in header files. On a 64 bit system automatically uses the 64 bit function, even though the program is 32 bit. --- src/cds.c 2007-12-09 16:03:36.000000000 +0300 +++ src/cds.c 2012-01-26 05:14:03.317360310 +0400 @@ -20,6 +20,8 @@ */ #include <stdlib.h> +#include <string.h> +#include <stdio.h> #include <upnp/upnp.h> #include <upnp/upnptools.h> --- src/cms.c 2007-12-09 16:03:36.000000000 +0300 +++ src/cms.c 2012-01-26 05:15:33.236991387 +0400 @@ -20,6 +20,7 @@ */ #include <stdlib.h> +#include <string.h> #include <upnp/upnp.h> #include <upnp/upnptools.h> --- src/http.c 2012-01-26 05:27:44.073992912 +0400 +++ src/http.c 2012-01-26 05:17:31.756505126 +0400 @@ -25,6 +25,7 @@ #include <errno.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> #include <errno.h> --- src/presentation.c 2007-12-09 16:03:36.000000000 +0300 +++ src/presentation.c 2012-01-26 05:19:41.635972259 +0400 @@ -19,6 +19,8 @@ */ #include <stdlib.h> +#include <string.h> +#include <stdio.h> #if HAVE_LANGINFO_CODESET # include <langinfo.h> --- src/mime.c 2007-12-09 16:03:36.000000000 +0300 +++ src/mime.c 2012-01-26 05:23:54.251602492 +0400 @@ -21,6 +21,7 @@ #include <stdlib.h> #include <string.h> +#include <stdio.h> #include "mime.h" #include "ushare.h" --- src/services.c 2007-12-09 16:03:36.000000000 +0300 +++ src/services.c 2012-01-26 05:21:28.572200186 +0400 @@ -20,6 +20,7 @@ */ #include <stdlib.h> +#include <string.h> #include <upnp/upnp.h> #include <upnp/upnptools.h>