Also, regarding the CI stuff. Seems like Microchip has the official compiler(s) download links under a (login) wall. What would be the approach in this case (so that the compilers could be downloaded by the CI scripts)? There are various binaries scattered across the internet, but I guess the official releases would be desirable.
Regards. On Thu, Jul 16, 2020 at 8:15 PM Pavel Ionut < pavel.ionut.catalin...@gmail.com> wrote: > Hello, > > I created a PR for the build issue. > Will have a go at the CI stuff. > > Regards. > > On Thu, Jul 16, 2020 at 5:48 PM Xiang Xiao <xiaoxiang781...@gmail.com> > wrote: > >> >> >> > -----Original Message----- >> > From: Pavel Ionut <pavel.ionut.catalin...@gmail.com> >> > Sent: Wednesday, July 15, 2020 6:48 PM >> > To: dev@nuttx.apache.org >> > Subject: [nuttx][avr] Issues while building avr (atmega) board example. >> > >> > Hello, >> > >> > Basically I'm trying to build the moteino-mega board example and I >> found some issues. >> > I have prepared a fix for all of these issues, but first of all I want >> your opinion on one of the issues. >> > >> >> It will be great if you can take some time to enable the build check for >> AVR, so we can avoid the build break in the feature. Only three files need >> to change: >> >> https://github.com/apache/incubator-nuttx-testing/blob/master/testlist/all.dat >> https://github.com/apache/incubator-nuttx-testing/blob/master/cibuild.sh >> >> https://github.com/apache/incubator-nuttx-testing/blob/master/docker/linux/Dockerfile >> >> > Seems like the linux avr-gcc does not include double_t as a type inside >> the compiler provided <math.h>, and double_t is used inside >> > the libs and the build fails. >> > >> Yes, the change Is made in the recent commit: >> commit d17b963bcab98e2d2f641623547837a8d3fe94cd >> Author: Xiang Xiao <xiaoxi...@xiaomi.com> >> Date: Sun Jun 28 14:04:30 2020 +0800 >> >> libc: Move double_t typedef from sys/types.h to math.h >> >> specified here: >> https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html >> >> Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com> >> Change-Id: I3497a73908301d999cf1cfc4a66552a7ca4868c6 >> Before this commit, double_t is defined in include/sys/types.h, but we >> found that this definition may different from the toolchain's one, so this >> patch move the definition into include/nuttx/lib/math.h. Both case work >> correctly(no mismatch) until your case: >> 1.double_t come from include/nuttx/lib/math.h when we enable NuttX's libm >> 2.double_t come from toolchain's math.h when we enable toolchain's libm >> >> > One possible fix (currently using) is to typedef it inside compiler.h >> (for the AVR compiler), however, I don't know if this would be >> > correct since I see no other typedefs inside that file. >> > >> >> Another place is arch/avr/include/types.h, all arch specific types >> definition come from here. >> >> > Regards >> >>