Cannot build the firmware from Ubuntu 20.04



  • I'm having some difficulty building the Onion-based firmware. I've been following the instructions here: https://github.com/OnionIoT/source using an Ubuntu 20.04 machine for the build. Here's what I get when using make -j1 V=s:

    Note that I also had to use gcc v9 as the build doesn't appear to support v10 or v11, and it doesn't appear that anything less than v9 is available anymore.

    gcc  -I.   -I/root/onion-builds/source/staging_dir/host/include   -O2 -I/root/onion-builds/source/staging_dir/host/include  -MT c-stack.o -MD -MP -MF $depbase.Tpo -c -o c-stack.o c-stack.c &&\
    mv -f $depbase.Tpo $depbase.Po
    In file included from /usr/include/signal.h:328,
                     from ./signal.h:52,
                     from c-stack.c:49:
    c-stack.c:55:26: error: missing binary operator before token "("
       55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
          |                          ^~~~~~~~
    

    Any ideas? Thanks.



  • So... it seems that downgrading my system to Ubuntu 18.04 works. I hope that this thread helps someone else in that way.

    I've raised a PR to hopefully clarify: https://github.com/OnionIoT/source/pull/35



  • @huntc I used to use Ubuntu 18 for ages, when I upgrades to 20.04 I had to work through a number of issues but eventually got it working. Now using 22.04LTS since release and it works fine except for a couple of packages that need some tweaks.



  • @crispyoz Thanks. It'd be great for Onion to see that they can build on 20.04 out of the box. It is obviously doable.



Looks like your connection to Community was lost, please wait while we try to reconnect.