Problem with building Riot and C++ in stm32f4discovery

Hi there,

I am new to RIOT and i would like to use C++11 on a stm32f4discovery Board. I am working with the arm-none-eabi-g++ compiler(version 4.9.1) under Arch Linux.

The Projekt I am trying to build is a copy of the riot_and_cpp example.

Building with BOARD=stm32f4discovery gets the following output:

        There are unsatisfied feature requirements: cpp                  EXPECT ERRORS!                  Building application riot-synth for stm32f4discovery w/ MCU         stm32f4.         "make" -C /home/simon/git-repos/RIOT/boards/stm32f4discovery         "make" -C /home/simon/git-repos/RIOT/core         "make" -C /home/simon/git-repos/RIOT/cpu/stm32f4         "make" -C /home/simon/git-repos/RIOT/cpu/cortex-m4_common         "make" -C /home/simon/git-repos/RIOT/cpu/stm32f4/periph         "make" -C /home/simon/git-repos/RIOT/drivers         "make" -C /home/simon/git-repos/RIOT/sys         "make" -C /home/simon/git-repos/RIOT/sys/auto_init         "make" -C /home/simon/git-repos/RIOT/sys/lib         /usr/lib/gcc/arm-none-eabi/4.9.1/../../../../arm-none-eabi/lib/thumb/cortex-m4/float-abi-hard/fpuv4-sp-d16/libg.a(lib_a-signalr.o): In function `_kill_r':         /build/arm-none-eabi-gcc/src/gcc-4.9.1/build/arm-none-eabi/thumb/cortex-m4/float-abi-hard/fpuv4-sp-d16/newlib/libc/reent/../../../../../../../../../newlib/libc/reent/signalr.c:57: multiple definition of `_kill_r'         /home/simon/git-repos/RIOT/riot-synth/bin/stm32f4discovery/cpu/syscalls.o:/home/simon/git-repos/RIOT/cpu/stm32f4/syscalls.c:161: first defined here         /usr/lib/gcc/arm-none-eabi/4.9.1/../../../../arm-none-eabi/lib/thumb/cortex-m4/float-abi-hard/fpuv4-sp-d16/libg.a(lib_a-signalr.o): In function `_kill_r':         signalr.c:(.text+0xe): undefined reference to `_kill'         collect2: error: ld returned 1 exit status         /home/simon/git-repos/RIOT/riot-synth/../Makefile.include:125:         die Regel für Ziel „all“ scheiterte         make: *** [all] Fehler 1          Is this a known Problem and if so is there a fix or a workaround?

Kind regards       Simon Brummer

Hi simon,

Is this a known Problem and if so is there a fix or a workaround?

Yes, the problem with _kill_r and _kill is known to us for quite a while. The easiest way to workaround with it is to comment out _kill_r and implement _kill (maybe a stub will do) in syscall.c of stm32f4. Or you can try with this pull request [1] :wink:

Cheers, Nhat.

[1] https://github.com/RIOT-OS/RIOT/pull/1985/files.