Am Montag, den 01.10.2018, 13:06 -0500 schrieb Bruce Dubbs via blfs-dev: > On 10/01/2018 11:24 AM, Ken Moffat via blfs-dev wrote: > > On Mon, Oct 01, 2018 at 06:16:46AM +0200, Thomas Trepl via blfs-dev wrote: > > > Am Sonntag, den 30.09.2018, 23:06 -0400 schrieb Clayton Johnson via > > > blfs-dev: > > > > DHCP 4.4.1 broken in guide as of GCC 8 update. > > > > > > > > Attached patch will fix this issue. > > > > > > What do you mean by "broken"? What is the issue which gets fixed by that > > > patch? > > > > > > dhcp compiles fine here with gcc-8.2.0. > > > > > > > Very odd. I built it (in chroot), and installed the client, last > > week on a build from svn with no problem. > > > > But after seeing Clayton's response I tried it on 8.3 and sure > > enough it failed because of -Werror: > > > > gcc -DHAVE_CONFIG_H -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -g > > -O2 -Wall -Werror -fno-strict-aliasing -I../includes > > -I/tmp/dhcp-4.4.1/bind/include -MT discover.o -MD -MP -MF > > .deps/discover.Tpo -c -o discover.o discover.c > > discover.c: In function ‘discover_interfaces’: > > 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); > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > cc1: all warnings being treated as errors > > make: *** [Makefile:500: discover.o] Error 1 > > > > Even more odd, I had done the same thing on this machine when > > building/testing 8.3 and the log for that only shows: > > > > gcc -DHAVE_CONFIG_H -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -O2 > > -march=native -D_PATH_DHCLIENT_SCRIPT='"/sbin/dhclient-script"' > > -D_PATH_DHCPD_CONF='"/etc/dhcp/dhcpd.conf"' > > -D_PATH_DHCLIENT_CONF='"/etc/dhcp/dhclient.conf"' -I../includes > > -I/building/dhcp-4.4.1/bind/include -MT discover.o -MD -MP -MF > > .deps/discover.Tpo -c -o discover.o discover.c > > mv -f .deps/discover.Tpo .deps/discover.Po > > > > Retrying with my own CFLAGS (-O2 -march=native) at the start > > of the CFLAGS works fine. Ah ha! When I build normally, I use > > > > CFLAG="$CFLAGS -D_PATH... > > > > and that is causing -Wall -Werror -fno-strict-aliasing to be > > omitted, but what is in the book merely adds defines to those existing > > CFLAGS. > > The configure script in bind causes the problem: > > # If we have gcc, and AC_PROG_CC changed the flags, then we know the > # user did not specify any flags. Add warnings in this case. > if test "$GCC" = "yes"; then > if test "$CFLAGS" != "$SAVE_CFLAGS"; then > STD_CWARNINGS="$STD_CWARNINGS -Wall -Werror -fno-strict-aliasing" > fi > fi > > If the Werror is remove from the above, the build completes.
I've opened a ticket (#11199) for that issue. Please add comments if you like. > Actually I'm quite disappointed in a package as important as dhcp has > as many warnings as they do (18 total by my count). These are the > different warnings: > > -Wformat-overflow )1) > -Wformat-truncation (6) > -Wimplicit-fallthrough (9) > -Wstringop-truncation (2) Agreed. Looking at includes/dhcpd.h as a file where _PATH_DHCPD_CONF is checked, it seems to me like the binary output is differently configured when DEBUG is set compared to when DEBUG is not set and comments at #endif's are not matching what they meant... -- Thomas -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page