Hi, there is another potential FTBFS:
/bin/bash ../libtool --tag=CC --mode=compile i686-linux-gnulp-gcc -DHAVE_CONFIG_H -I. -DPREFIX='"/usr"' -DCONFIGFILE='"/etc/collectd.conf"' -DLOCALSTATEDIR='"/var"' -DPKGLOCALSTATEDIR='"/var/lib/collectd"' -DPIDFILE='"/var/run/collectd.pid"' -DPLUGINDIR='"/usr/lib/collectd"' -DPKGDATADIR='"/usr/share/collectd"' -I/build/buildd/collectd-4.6.2/debian/include -DLT_LAZY_OR_NOW='RTLD_LAZY|RTLD_GLOBAL' -UCONFIGFILE -DCONFIGFILE='"/etc/collectd/collectd.conf"' -Wall -Werror -Wall -g -O2 -MT rrdtool_la-rrdtool.lo -MD -MP -MF .deps/rrdtool_la-rrdtool.Tpo -c -o rrdtool_la-rrdtool.lo `test -f 'rrdtool.c' || echo './'`rrdtool.c i686-linux-gnulp-gcc -DHAVE_CONFIG_H -I. -DPREFIX=\"/usr\" -DCONFIGFILE=\"/etc/collectd.conf\" -DLOCALSTATEDIR=\"/var\" -DPKGLOCALSTATEDIR=\"/var/lib/collectd\" -DPIDFILE=\"/var/run/collectd.pid\" -DPLUGINDIR=\"/usr/lib/collectd\" -DPKGDATADIR=\"/usr/share/collectd\" -I/build/buildd/collectd-4.6.2/debian/include "-DLT_LAZY_OR_NOW=RTLD_LAZY|RTLD_GLOBAL" -UCONFIGFILE -DCONFIGFILE=\"/etc/collectd/collectd.conf\" -Wall -Werror -Wall -g -O2 -MT rrdtool_la-rrdtool.lo -MD -MP -MF .deps/rrdtool_la-rrdtool.Tpo -c rrdtool.c -fPIC -DPIC -o .libs/rrdtool_la-rrdtool.o cc1: warnings being treated as errors rrdtool.c: In function 'rrd_queue_thread': rrdtool.c:280: error: 'values' may be used uninitialized in this function rrdtool.c:281: error: 'values_num' may be used uninitialized in this function make[4]: *** [rrdtool_la-rrdtool.lo] Error 1 Attached patch fixes both issues with this package, both changes are taken from upstream. Thanks.
#! /bin/sh /usr/share/dpatch/dpatch-run ## upstream_fix_ftbfs.dpatch by Florian Forster ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fix a FTBFS with gcc4.4 by cherrypicking the change from upstream. ## DP: Debian report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526667 ## DP: Ubuntu report: https://bugs.edge.launchpad.net/bugs/381489 @DPATCH@ diff -urNad collectd-4.6.2~/src/ntpd.c collectd-4.6.2/src/ntpd.c --- collectd-4.6.2~/src/ntpd.c 2009-04-14 04:25:31.000000000 +0200 +++ collectd-4.6.2/src/ntpd.c 2009-05-21 01:34:32.000000000 +0200 @@ -878,25 +878,33 @@ if (ptr->v6_flag) { - struct sockaddr_in6 *sa_ptr; - sa_ptr = (struct sockaddr_in6 *) &sa; + struct sockaddr_in6 sa6; - sa_ptr->sin6_family = AF_INET6; - sa_ptr->sin6_port = htons (123); - memcpy (&sa_ptr->sin6_addr, &ptr->srcadr6, + assert (sizeof (sa) >= sizeof (sa6)); + + memset (&sa6, 0, sizeof (sa6)); + sa6.sin6_family = AF_INET6; + sa6.sin6_port = htons (123); + memcpy (&sa6.sin6_addr, &ptr->srcadr6, sizeof (struct in6_addr)); - sa_len = sizeof (struct sockaddr_in6); + sa_len = sizeof (sa6); + + memcpy (&sa, &sa6, sizeof (sa6)); } else { - struct sockaddr_in *sa_ptr; - sa_ptr = (struct sockaddr_in *) &sa; + struct sockaddr_in sa4; - sa_ptr->sin_family = AF_INET; - sa_ptr->sin_port = htons (123); - memcpy (&sa_ptr->sin_addr, &ptr->srcadr, + assert (sizeof (sa) >= sizeof (sa4)); + + memset (&sa4, 0, sizeof (sa4)); + sa4.sin_family = AF_INET; + sa4.sin_port = htons (123); + memcpy (&sa4.sin_addr, &ptr->srcadr, sizeof (struct in_addr)); - sa_len = sizeof (struct sockaddr_in); + sa_len = sizeof (sa4); + + memcpy (&sa, &sa4, sizeof (sa4)); } if (do_reverse_lookups == 0) diff -urNad collectd-4.6.2~/src/rrdtool.c collectd-4.6.2/src/rrdtool.c --- collectd-4.6.2~/src/rrdtool.c 2009-04-14 04:25:31.000000000 +0200 +++ collectd-4.6.2/src/rrdtool.c 2009-05-21 01:37:26.000000000 +0200 @@ -282,6 +282,9 @@ int status; int i; + values = NULL; + values_num = 0; + pthread_mutex_lock (&queue_lock); /* Wait for values to arrive */ while (true)