#11199: dhcp: Fix compiler error --------------------+----------------------- Reporter: thomas | Owner: blfs-book Type: defect | Status: new Priority: normal | Milestone: 8.4 Component: BOOK | Version: SVN Severity: normal | Keywords: --------------------+----------------------- (Reported by Clayton J. on blfs-dev)
Instructions in book leads to errors like {{{ discover.c:646:4: error: 'strncpy' output may be truncated copying 15 bytes from a string of length 15 [-Werror=stringop-truncation] strncpy(tmp->name, info.name, sizeof(tmp->name) - 1); }}} This is caused by a strange handling of set/unset CFLAGS. Doing an {{{ export CFLAGS="-D... }}} makes it compile. Most likely it has been missed because we might had CFLAGS exported while testing. With this export of CFLAGS, our -D's are recognized but but `-fno-strict-aliasing` gets not set but it would be if CFLAGS are not spezified. Remove the -Werror flag by doing a {{{ sed -e "/STD_CWARNINGS=/ s/-Werror//" -i configure }}} This would make it compile too but the CFLAGS we set (without the export) will not be used. See summary of configure script. I'd propose to solve it like this: {{{ export CFLAGS="$CFLAGS -Wall -fno-strict-aliasing \ -D_PATH_DHCLIENT_SCRIPT='\"/sbin/dhclient-script\"' \ -D_PATH_DHCPD_CONF='\"/etc/dhcp/dhcpd.conf\"' \ -D_PATH_DHCLIENT_CONF='\"/etc/dhcp/dhclient.conf\"'" ./configure --prefix=/usr \ --sysconfdir=/etc/dhcp \ --localstatedir=/var \ --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases \ --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \ --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases }}} The summary of configure than looks like (note the CFLAGS line): {{{ ISC DHCP source configure results: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Package: Name: DHCP Version: 4.4.1 C Compiler: gcc Flags: DEFS: -DHAVE_CONFIG_H CFLAGS: -Wall -fno-strict-aliasing -D_PATH_DHCLIENT_SCRIPT='"/sbin/dhclient-script"' -D_PATH_DHCPD_CONF='"/etc/dhcp/dhcpd.conf"' -D_PATH_DHCLIENT_CONF='"/etc/dhcp/dhclient.conf"' -I$(top_srcdir)/includes -I/home/lfs/dhcp-4.4.1/bind/include DHCP versions: DHCPv4 and DHCPv6 Features: debug: no failover: yes execute: yes binary-leases: no dhcpv6: yes delayed-ack: yes dhcpv4o6: no relay-port: no Developer: ATF unittests : no Now you can type make to build ISC DHCP }}} Please add comments! -- Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/11199> BLFS Trac <http://wiki.linuxfromscratch.org/blfs> Beyond Linux From Scratch -- http://lists.linuxfromscratch.org/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page