Hello world stopped working


This may sound like a stupid question, but I can't get output from hello world anymore. On my Sodaq Explorer and also on my Sodaq One.

I have been away from RIOT for a few weeks and now that I get back there is no output on UART0, and the LEDs don't work either.

Since last time, I upgraded my Ubuntu to 18.04. It has a newer compiler. Could that be it?

binutils-arm-none-eabi 2.27-9ubuntu1+9 gcc-arm-none-eabi 15:6.3.1+svn253039-1build1 gdb-arm-none-eabi 7.10-1ubuntu3+9 libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 15:6.3.1+svn253039-1+10

If not, what else could it be? It must be something obvious, but so far I haven't found it.

Hi Kees,

You need a more recent version of the GNU ARM compiler, 7.x, and you only have 6.3. The recommended toolchain is the official one from ARM that can be downloaded at [1].

Just uncompress the archive somewhere in your filesystem (in /opt for example) and update your PATH variable. This is what I do and it works well.



[1] https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

Hey Alex,

Thanks, that did the trick. Wow, what happened with that compiler? I now see that we have PR #10404 and a few issues about it. Hmm, that PR could have given me a warning. -- Kees

Hi, I don't believe that we require GCC 7 anywhere, it should still work fine to build with for example the ARM provided GCC 6 release, or the older Ubuntu/Debian toolchains. It seemed more like there is a problem with the Ubuntu packaged arm-none-eabi toolchain that produces broken binaries.


Hi all,

Joakim is right - there are several reports of broken/non-working firmwares compiled with the arm-none-eabi-gcc and libs provided by Ubuntu:Bionic

see for instance:

- https://bugs.launchpad.net/ubuntu/+source/gcc-arm-none-eabi/+bug/1767223 - https://bugs.launchpad.net/ubuntu/+source/newlib/+bug/1768125

That's why our riotdocker image (and with that the Murdock-CI) uses the official releases instead of the apt-packages.

Best,   Sebastian

Hi Kees,

The PR 10404 was delayed because I needed to address the reviews, which I finally did yesterday.

A final review there could help get it in :slight_smile:

Cheers, Gaëtan

For Ubuntu 18.04 there is a possibility to install the PPA. See [1]. What I did was to first remove (uninstall) all arm-none-eabi packages, and I also had to uninstall the gcc-avr packages due to a conflict with /usr/lib/libcc1.so.0.0.0

Next, enable the PPA and install gcc-arm-embedded. That's it.

[1] https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa

I replaced the package using this same approach. [1]


[1] https://github.com/RIOT-OS/RIOT/issues/9248#issuecomment-416532408

:slight_smile: Thanks

I was also trying to find a way to report the conflict between the packages gcc-avr and gcc-arm-embedded. It will be a tough one to get it recognized by the right people.