FWIW, I saw this yesterday on a new branch from Master. Bizarrely not with my first distclean and make but with a subsequent rebuild. Then it disappeared again: I tracked it down to a duplicate signal value with a random table having appeared in Kconfig. That branch was short lived so I’m not having to deal with it right now but it’s obviously not right.
On my system (Ubuntu, VS Code) I see the build progress on a single line (like a return with no line feed) and I quite like that. The error dump at the end is, I find, quite useful. But I 100% agree that these things need discussion first. And, like you, the mailing list seems largely a waste of time which is a HUGE shame. In the last few months I have noticed a few build oddities which I have assumed were down to my ineptness but now I’m not so sure. Like: * If I removed a built-in App via Kconfig, the build complain of unresolved references in libraries. Only a distclean – and;/or apps_clean – fixes this. (NB – my NuttX install directory had a non-standard name so it might have been that, but it has not changed in a year and the problem is recent). * Occasional first-time build errors reporting an unknown option “-mfloat-abi=soft”. This error then disappears – even that is bizarre, let alone the error itself. * While developing a driver, changes to a new header file are not picked up and used unless I do a clean. I do feel something is amiss with the build system but I use workarounds (even though I perhaps shouldn’t have to) as I have much more pressing things to work on – and if I do report an issue on good ol' GitHub I usually get told its down to my arch! But I soldier on :) From: Sebastien Lorquet <sebast...@lorquet.fr> Sent: 07 March 2023 09:22 To: dev@nuttx.apache.org Subject: Re: NuttX is broken the problem is that the new SIGWORK is defined by CONFIG_SIG_WORK to 17 without condition but SIGCHLD is configured by CONFIG_SIG_CHLD , but this var depends on SCHED_HAVE_PARENT, this var is not defined in my build and SIGCHLD defaults to 17 in code. So something is wrong, SIGCHLD shoud not be used at all in the code if SCHED_HAVE_PARENT is not defined This works: ---------- diff --git a/libs/libc/string/lib_strsignal.c b/libs/libc/string/lib_strsignal.c index 2237dcf749..741005f262 100644 --- a/libs/libc/string/lib_strsignal.c +++ b/libs/libc/string/lib_strsignal.c @@ -113,10 +113,12 @@ FAR char *strsignal(int signum) return (FAR char *)"SIGALRM"; #endif +#ifdef CONFIG_SCHED_HAVE_PARENT #ifdef SIGCHLD case SIGCHLD: return (FAR char *)"SIGCHLD"; #endif +#endif #ifdef SIGPOLL case SIGPOLL: ---------- Sebastien On 3/7/23 09:50, alin.jerpe...@sony.com<mailto:alin.jerpe...@sony.com> wrote: > Hi Sebastien, > > I checked the logs and the lib_strsignal.c is untouched for a long time > I would start debugging with make -j1 > > Best regards > Alin > > > -----Original Message----- > From: Sebastien Lorquet > Sent: den 7 mars 2023 09:26 > To: dev@nuttx.apache.org<mailto:dev@nuttx.apache.org> > Subject: NuttX is broken > > What is this? > > NuttX is broken. > > I ran make distclean, used the same defconfig, and I get this: > > > CC: string/lib_strsignal.c string/lib_strsignal.c: In function 'strsignal': > string/lib_strsignal.c:169:7: error: duplicate case value > 169 | case SIGWORK: > | ^~~~ > string/lib_strsignal.c:117:7: note: previously used here > 117 | case SIGCHLD: > | ^~~~ > make[1]: *** [Makefile:134: bin//lib_strsignal.o] Error 1 > make: *** [tools/LibTargets.mk:180: libs/libc/libc.a] Error 2 > > Please stop the commit race and stop breaking nuttx > > > While having a look at this file I just found this: > > /* We don't know what signals names will be assigned to which signals in > * advance and we do not want to return a volatile value. One solution is > * this silly array of useless names: > */ > > static FAR const char *g_default_sigstr[32] = { > "Signal 0", > "Signal 1", > "Signal 2", > "Signal 3", > "Signal 4", > "Signal 5", > "Signal 6", > "Signal 7", > "Signal 8", > "Signal 9", > "Signal 10", > "Signal 11", > "Signal 12", > "Signal 13", > "Signal 14", > "Signal 15", > "Signal 16", > "Signal 17", > "Signal 18", > "Signal 19", > "Signal 20", > "Signal 21", > "Signal 22", > "Signal 23", > "Signal 24", > "Signal 25", > "Signal 26", > "Signal 27", > "Signal 28", > "Signal 29", > "Signal 30", > "Signal 31", > }; > > What the actual FUCK, and I mean it, is THIS? > > What does this comment mean? Who is WE? > > Who has gigabytes of flash to waste to such garbage? > > Who has accepted that commit? > > Is anyone aware of the sprintf function? > > Sebastien >