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 >

Reply via email to