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.