Hey,
I got the same issue as you did trying to compile a simple C++ (11) program
for the frdm-k64f platform on Ubuntu 14.04
The culprit was the arm-none-eabi-gcc package you can download for this
version of Ubuntu is broken.
What worked for me is to fetch it from following ppa:
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
However, unlike what's written there, you shall then "install sudo apt-get
install gcc-arm-none-eabi=4.9.3.2015q3-1trusty1"
Mind the difference at the end, when selecting the package...Not trusty13,
but trusty1
You end up getting a working compiler and sysroot, eliminating the error
you mentioned.
Have a great day
Patrick
Hi all,
I am currently trying to run the cpp tests (e.g. tests/cpp11_*) for
stm32f4discovery on ubuntu 14.04 unfortunately all tests I ran failed (see
error log at the bottom of this mail). I highly suspect that this is a
toolchain issue (btw: happens only with stm32f4discovery).
Did I miss something obvious like a missing package (see package list
below)?
Best,
Philipp
The relevant packages I have installed are:
$ dpkg -l | grep arm-none
ii gcc-arm-none-eabi
4.9.3.2015q1-0trusty13 amd64 A
GNU-based tool chain for arm embedded processors
ii libnewlib-arm-none-eabi
2.1.0-3 all C library
and math library compiled for bare metal using Cortex A/R/M
ii libstdc++-arm-none-eabi-newlib
4.9.2-20ubuntu1+7 all GNU
Standard C++ Library v3 for ARM Cortex-A/R/M processors (newlib)
$ apt-cache policy gcc-arm-none-eabi
gcc-arm-none-eabi:
Installiert: 4.9.3.2015q1-0trusty13
Installationskandidat: 4.9.3.2015q1-0trusty13
Versionstabelle:
*** 4.9.3.2015q1-0trusty13 0
500 http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu/
trusty/main amd64 Packages
100 /var/lib/dpkg/status
4.8.2-14ubuntu1+6 0
500 http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
The error log for cpp11_thread:
tests/cpp11_thread$ BOARD=stm32f4discovery make clean all
Building application "cpp11_thread" for "stm32f4discovery" with MCU
"stm32f4".
In file included from /usr/arm-none-eabi/include/c++/4.9.3/random:38:0,
from
/usr/arm-none-eabi/include/c++/4.9.3/bits/stl_algo.h:66,
from /usr/arm-none-eabi/include/c++/4.9.3/algorithm:62,
from
/home/philipp/RIOT/sys/cpp11-compat/include/riot/chrono.hpp:30,
from /home/philipp/RIOT/tests/cpp11_thread/main.cpp:27:
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1120:11: error: '::log2l' has
not been declared
using ::log2l;
^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1124:11: error: '::logbl' has
not been declared
using ::logbl;
^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1146:11: error: '::nexttoward'
has not been declared
using ::nexttoward;
^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1147:11: error: '::nexttowardf'
has not been declared
using ::nexttowardf;
^
/usr/arm-none-eabi/include/c++/4.9.3/cmath:1148:11: error: '::nexttowardl'
has not been declared
using ::nexttowardl;
^
In file included from /home/philipp/RIOT/sys/include/vtimer.h:28:0,
from
/home/philipp/RIOT/sys/cpp11-compat/include/riot/chrono.hpp:33,
from /home/philipp/RIOT/tests/cpp11_thread/main.cpp:27:
/home/philipp/RIOT/sys/include/timex.h: In function 'const char*
timex_to_str(timex_t, char*)':
/home/philipp/RIOT/sys/include/timex.h:185:39: error: 'snprintf' was not
declared in this scope
t.seconds, t.microseconds);
^
make[1]: ***
[/home/philipp/RIOT/tests/cpp11_thread/bin/stm32f4discovery/cpp11_thread/main.o]
Fehler 1
make: *** [all] Fehler 2
_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel