On 6/17/19 6:46 PM, Julian H. Stacey wrote: > Hi, Reference: >> From: Ian Lepore <ian_at_freebsd.org> >> Date: Mon, 17 Jun 2019 18:56:35 -0600 > > Ian Lepore wrote: >> On Tue, 2019-06-18 at 02:21 +0200, Julian H. Stacey wrote: >>> "Julian H. Stacey" wrote: >>>> "Bjoern A. Zeeb" wrote: >>>>> On 17 Jun 2019, at 10:37, Mark Linimon wrote: >>>>> >>>>>> On Mon, Jun 17, 2019 at 11:41:03AM +0200, Julian H. Stacey >>>>>> wrote: >>>>>>> svn_revision 348842 >>>>>> >>>>>> [ ...] >>>>>>> /usr/src/sys/modules/sdio/../../dev/sdio/sdiob.c:68:10: fatal >>>>>>> error: >>>>>>> 'opt_cam.h' file not found >>>>>>> #include "opt_cam.h" >>>>>>> ^~~~~~~~~~~ >>>>>>> 1 error generated. >>>>>> >>>>>> This is extremely unlikely to be r348842. I would investigate >>>>>> r349025 >>>>>> instead. (Committer Cc:ed.) >>>>> >>>>> Almost, more likely me. I just had a look. I am not exactly >>>>> sure how >>>>> to reproduce this? >>>>> >>>>> /bz >>>> >>>> If I can help let me know. >>>> My buildworld broke with 13.0-CURRENT >>>> /usr/src .ctm_status src-cur 14077 .svn_revision 348842 >>>> I'm now running make install, >>>> & can then compare my root include & libs with with a set >>>> installed >>>> using DESTDIR= >>> >>> I compiled, installed, compared. >>> BTW cd /usr/src; make delete - only cleans libs & bins but does >>> not >>> clean other junk listed in ObsoleteFiles.inc not even with >>> -DBATCH_DELETE_OLD_FILES or -DBATCH_DELETE_OLD_FILES=YES so >>> manually purged, >>> I believe I have a clean system built from .ctm_status src-cur 14077 >>> .svn_revision 348842 but /usr/src/sys/modules/sdio still fails, >>> so there was a commit of unbuildable code. >>> >>> cd /usr/src ; find . -name opt_cam.h # tools/tools/vhba/opt_cam.h >>> cd /usr/include ; find . -name opt_cam.h # nothing >>> >>> >>>> I have a 2nd slower current box also building to 14077, I will then >>>> take that on up to latest .ctm_status src-cur 14087 .svn_revision >>>> 349129 to see if problem clears. >>> >>> make buildworld blew on newer current, with a different bug: >>> >>> cc -O2 -pipe -I/usr/src/usr.bin/mkesdb_static >>> -I/usr/src/usr.bin/mkesdb_static/../mkesdb - >>> I/usr/src/usr.bin/mkesdb_static/../../lib/libc/iconv -g -MD - >>> MF.depend.lex.o -MTlex.o -std=gnu99 -Qunused-arguments - >>> I/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/include -c lex.c -o >>> lex.o >>> /usr/src/usr.bin/mkesdb/lex.l:46:10: fatal error: 'yacc.h' file not >>> found >>> #include "yacc.h" >>> ^~~~~~~~ >>> 1 error generated. >>> *** Error code 1 >>> >>> Stop. >>> make[3]: stopped in /usr/src/usr.bin/mkesdb_static >>> >>> A double waste of CPU & human time & power in a hot office. >>> Commit bits used to be suspended for un-buildable code. I'll boot >>> stable. >> >> Since you seem to be so focused on mean-spirited criticism of others, >> I'm sure you'll understand when I ask... >> >> Have you *seriosly* been using and building freebsd this long and you >> don't know that an opt_*.h file is generated as part of the build and >> exists only in the object directory, so that searching for it under >> /usr/src or /usr/include would be... let's see, how did you put it?... >> Oh yeah: A double waste of CPU & human time. > > Personal noise is irrelevant. > > Facts: > Unchecked commits broken make buildworld twice, > Time was wasted by bad commits. > My time ran out. > Current does not benefit from commits that break buildworld. > I (like a friend before) must switch to stable to avoid breakage. > > Time was, ~25 years back, when FreeBSD commiters who screwed > the build were awarded a conical hat & took a one week holiday. A > mild rebuke for wasting people's time, & a short refreshing > break to go smell fresh air. No not coffee, but fresh air. > > Cheers, > Julian > As the committer who broke yacc.h I'm sorry. I understand the frustration. I too get frustrated by build breakage from others and even myself. I appreciate the cc's here. I did test this particular change with 1. clean build 2. -DNO_CLEAN 3. CLEANDIR=clean + -DNO_CLEAN (to really rebuild everything but reuse the .depend files). And similar pattern with META_MODE. And a cross-build of powerpc.powerpc64 to capture some gcc deps and ensure cross-build was running the right binaries. I missed not using -j though, that's a really odd case I'll never test frankly. Worse my build environment had MK_TESTS=no in it so I missed some other bugs. What I didn't test: buildkernel, install*, universe, ports (the last 2 will likely bite me still). It's pretty common for all of us to forget to test installworld and ports. Again this brings up the need for a real build test suite that can be used pre-commit. -- Regards, Bryan Drewery
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC