Open AlasdairAtKitronik opened 3 years ago
What version of gcc are you using? Sounds like it's not compiling as C++11.
Are you use the target was correctly set in Yotta?
My gcc version is 8.1.0 and I used the following line to set the target:
yt target bbc-microbit-classic-gcc-nosd
I did think the references to C++98 were a bit strange
Could you build with the verbose flags and copy the full output? that should show which flags were used.
I just built on Ubuntu with gcc 7.3.1 without issues, these are the steps I take:
git clone https://github.com/bbcmicrobit/micropython.git
cd micropython
yt clean
yt target bbc-microbit-classic-gcc-nosd
yt up
make all
This is the build with flags: build_flags.txt
I followed exactly the same steps as you did for your Ubuntu build.
This is my gcc version output:
C:\Users\alasdair.trench\github\microbit-micropython-no-mods\micropython>gcc --version
gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Is there an issue because I have the MinGW-W64, and it says at the start of the build that "This program built for i386-pc-mingw32"?
I don't know sorry, maybe that is just the make program build info.
Based on the output though, sounds like you are building with gcc arm v5:
-- Found assembler: C:/Program Files (x86)/GNU Tools ARM Embedded/5.4 2016q3/bin/arm-none-eabi-gcc.exe
I'd recommend to update that.
This is your x86_64 gcc:
C:\Users\alasdair.trench\github\microbit-micropython-no-mods\micropython>gcc --version gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Right, I'll try updating that - thanks
The update of GCC solved my inital issue - thank you. It might be worth noting in the README that as the make process uses a 'grep' command it will require a Unix environment? All building successfully now.
I was trying out the module freezing process (shown here: https://github.com/mytechnotalent/MicroPython-micro-bit_How_To_Build_And_Freeze_Modules), but kept having issues with the 'make all' process not working.
I thought it might be the changes I was making, so cloned a fresh version of the bbcmicrobit/micropython repo and tried to build the firmware with no changes - same error. I have tried using Windows command line and the git bash environment - both consistently fail on the same section (I am using a Windows 10 machine).
This is the error message:
Is anyone able to shed light on why this fails? Are there extra steps which need to be taken before running the instructions in the README? @dpgeorge @microbit-carlos