microbit-foundation / micropython-microbit-v2

Temporary home for MicroPython for micro:bit v2 as we stablise it before pushing upstream
MIT License
42 stars 23 forks source link

Can't generate hex file #11

Closed mytechnotalent closed 3 years ago

mytechnotalent commented 3 years ago

When running make I am not able to generate a hex binary.

.o
[ 90%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLEServices.cpp.o
[ 91%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLETypes.cpp.o
[ 91%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitButtonService.cpp.o
[ 92%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitEddystone.cpp.o
[ 92%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitEventService.cpp.o
[ 93%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitIOPinService.cpp.o
[ 93%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitLEDService.cpp.o
[ 94%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitMagnetometerService.cpp.o
[ 94%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitPartialFlashingService.cpp.o
[ 95%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitTemperatureService.cpp.o
[ 95%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitUARTService.cpp.o
[ 96%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/compat/MbedMemberFunctionCallback.cpp.o
[ 96%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/model/MicroBit.cpp.o
[ 97%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/model/MicroBitIO.cpp.o
[ 97%] Linking CXX static library ../../libcodal-microbit-v2.a
[ 97%] Built target codal-microbit-v2
Scanning dependencies of target MICROBIT
[ 97%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/mphalport.cpp.o
[ 97%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/main.cpp.o
[ 98%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/microbithal_microphone.cpp.o
[ 98%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/microbithal.cpp.o
[ 99%] Linking CXX executable MICROBIT
[ 99%] Built target MICROBIT
Scanning dependencies of target MICROBIT_hex
Scanning dependencies of target MICROBIT_bin
[ 99%] converting to bin file.
[100%] converting to hex file.
[100%] Built target MICROBIT_bin
[100%] Built target MICROBIT_hex
size ../lib/codal/build/MICROBIT
__TEXT  __DATA  __OBJC  others  dec     hex
error: /Library/Developer/CommandLineTools/usr/bin/size: file: ../lib/codal/build/MICROBIT is not an object file
make: *** [all] Error 1
developer@mac-developer src % 
mytechnotalent commented 3 years ago

@microbit-carlos it does generate the hex file after all in lib/codal/build but originally it was putting the .hex in the /src dir so I still think you have a minor issue here.

mytechnotalent commented 3 years ago

__OBJC others dec hex error: /Library/Developer/CommandLineTools/usr/bin/size: file: ../lib/codal/build/MICROBIT is not an object file make: *** [all] Error 1 developer@mac-developer src %

microbit-carlos commented 3 years ago

Right, so this line in the makefile is failing: https://github.com/microbit-foundation/micropython-microbit-v2/blob/3e09245a46799711b8a285f0a2349e5c13d6b948/src/Makefile#L11

Is the lib/codal/build/MICROBIT file present? Could you upload the file here?

Is this doing a build from a clean clone of the repository, or does it contain any modifications?

mytechnotalent commented 3 years ago

It has mods. Here is a REPO detailing the mods as I created a tutorial for C Developers to help mod their own private firmware outside of upstream. https://github.com/mytechnotalent/MicroPython-micro-bit_MOD_C_Library

mytechnotalent commented 3 years ago

This was a fresh clone of the repo however the mods were done after the fresh clone.

microbit-carlos commented 3 years ago

Right, so the build works without the mods but fails with the mods? If you haven't tried that yet, could you try building without the mods?

mytechnotalent commented 3 years ago

I will try now I have not tried without the mods standby...

mytechnotalent commented 3 years ago

I have deleted the cloned repo and re-cloned fresh and ran all the steps and built the firmware. The result is the same. Same error there is an error in main that is not copying the .hex over properly. This has nothing to do with my custom mod which is good so we know we are consistent here.

microbit-carlos commented 3 years ago

I just tried in a new clone, following the instructions in the README and got a working build in macOS without any issues.

Could you copy the full output of a build (after a make clean) from beginning to end? It'd be really useful to also get the version of Arm GCC and CMake.

It sounds like your build is producing a lib/codal/build/MICROBIT file, but it is not an object file? Is your build generating a lib/codal/MICROBIT.hex and MICROBIT.bin file as well?

mytechnotalent commented 3 years ago

@microbit-carlos

developer@mac-developer Documents % git clone git@github.com:microbit-foundation/micropython-microbit-v2.git
Cloning into 'micropython-microbit-v2'...
remote: Enumerating objects: 568, done.
remote: Counting objects: 100% (568/568), done.
remote: Compressing objects: 100% (191/191), done.
remote: Total 568 (delta 384), reused 549 (delta 365), pack-reused 0
Receiving objects: 100% (568/568), 168.71 KiB | 177.00 KiB/s, done.
Resolving deltas: 100% (384/384), done.
developer@mac-developer Documents % ls
circuitpython       micropython
esptool         micropython-microbit-v2
developer@mac-developer Documents % cd micropython-microbit-v2 
developer@mac-developer micropython-microbit-v2 % git submodule update --init
Submodule 'lib/micropython' (https://github.com/micropython/micropython) registered for path 'lib/micropython'
Cloning into '/Users/developer/Documents/micropython-microbit-v2/lib/micropython'...
Submodule path 'lib/micropython': checked out 'e54626f4c1b5cb4de0b5dc86d820bb36c1d6499f'
developer@mac-developer micropython-microbit-v2 % git clone https://github.com/lancaster-university/codal.git lib/codal
Cloning into 'lib/codal'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 2913 (delta 1), reused 3 (delta 1), pack-reused 2905
Receiving objects: 100% (2913/2913), 1.36 MiB | 103.00 KiB/s, done.
Resolving deltas: 100% (1916/1916), done.
developer@mac-developer micropython-microbit-v2 % git clone --recurse-submodules https://github.com/lancaster-university/codal-core.git lib/codal/libraries/codal-core
Cloning into 'lib/codal/libraries/codal-core'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 7299 (delta 12), reused 18 (delta 9), pack-reused 7268
Receiving objects: 100% (7299/7299), 1.49 MiB | 257.00 KiB/s, done.
Resolving deltas: 100% (5547/5547), done.
developer@mac-developer micropython-microbit-v2 % git clone --recurse-submodules https://github.com/lancaster-university/codal-nrf52.git lib/codal/libraries/codal-nrf52
Cloning into 'lib/codal/libraries/codal-nrf52'...
remote: Enumerating objects: 175, done.
remote: Counting objects: 100% (175/175), done.
remote: Compressing objects: 100% (93/93), done.
remote: Total 895 (delta 121), reused 131 (delta 81), pack-reused 720
Receiving objects: 100% (895/895), 589.94 KiB | 574.00 KiB/s, done.
Resolving deltas: 100% (566/566), done.
Submodule 'nrfx' (https://github.com/NordicSemiconductor/nrfx) registered for path 'nrfx'
Cloning into '/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-nrf52/nrfx'...
remote: Enumerating objects: 155, done.        
remote: Counting objects: 100% (155/155), done.        
remote: Compressing objects: 100% (123/123), done.        
remote: Total 2670 (delta 88), reused 45 (delta 32), pack-reused 2515        
Receiving objects: 100% (2670/2670), 4.27 MiB | 234.00 KiB/s, done.
Resolving deltas: 100% (2150/2150), done.
Submodule path 'nrfx': checked out '9136253e271f978a8da735864fc50d60e0ed68c6'
developer@mac-developer micropython-microbit-v2 % git clone --recurse-submodules https://github.com/microbit-foundation/codal-microbit-nrf5sdk.git lib/codal/libraries/codal-microbit-nrf5sdk
Cloning into 'lib/codal/libraries/codal-microbit-nrf5sdk'...
remote: Enumerating objects: 1626, done.
remote: Counting objects: 100% (1626/1626), done.
remote: Compressing objects: 100% (929/929), done.
remote: Total 1626 (delta 689), reused 1578 (delta 656), pack-reused 0
Receiving objects: 100% (1626/1626), 19.89 MiB | 375.00 KiB/s, done.
Resolving deltas: 100% (689/689), done.
developer@mac-developer micropython-microbit-v2 % git clone --recurse-submodules https://github.com/lancaster-university/codal-microbit-v2.git lib/codal/libraries/codal-microbit-v2
Cloning into 'lib/codal/libraries/codal-microbit-v2'...
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 1599 (delta 12), reused 17 (delta 7), pack-reused 1566
Receiving objects: 100% (1599/1599), 910.88 KiB | 322.00 KiB/s, done.
Resolving deltas: 100% (1108/1108), done.
developer@mac-developer micropython-microbit-v2 % cd src 
developer@mac-developer src % make
/Library/Developer/CommandLineTools/usr/bin/make -C codal_port
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
mkdir -p build/genhdr
GEN build/genhdr/mpversion.h
GEN build/genhdr/moduledefs.h
python3 ../../lib/micropython/py/makeversionhdr.py build/genhdr/microbitversion.h
GEN build/genhdr/microbitversion.h
GEN build/genhdr/qstr.i.last
GEN build/genhdr/qstr.split
GEN build/genhdr/qstrdefs.collected.h
QSTR updated
GEN build/genhdr/qstrdefs.generated.h
mkdir -p build//Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-nrf52/nrfx/drivers/src
mkdir -p build//Users/developer/Documents/micropython-microbit-v2/lib/sam
mkdir -p build/extmod
mkdir -p build/lib/embed
mkdir -p build/lib/mp-readline
mkdir -p build/lib/utils
mkdir -p build/ports/nrf/modules/uos
mkdir -p build/py
CC ../../lib/micropython/py/mpstate.c
CC ../../lib/micropython/py/nlr.c
CC ../../lib/micropython/py/nlrx86.c
CC ../../lib/micropython/py/nlrx64.c
CC ../../lib/micropython/py/nlrthumb.c
CC ../../lib/micropython/py/nlrpowerpc.c
CC ../../lib/micropython/py/nlrxtensa.c
CC ../../lib/micropython/py/nlrsetjmp.c
CC ../../lib/micropython/py/malloc.c
CC ../../lib/micropython/py/gc.c
CC ../../lib/micropython/py/pystack.c
CC ../../lib/micropython/py/qstr.c
CC ../../lib/micropython/py/vstr.c
CC ../../lib/micropython/py/mpprint.c
CC ../../lib/micropython/py/unicode.c
CC ../../lib/micropython/py/mpz.c
CC ../../lib/micropython/py/reader.c
CC ../../lib/micropython/py/lexer.c
CC ../../lib/micropython/py/parse.c
CC ../../lib/micropython/py/scope.c
CC ../../lib/micropython/py/compile.c
CC ../../lib/micropython/py/emitcommon.c
CC ../../lib/micropython/py/emitbc.c
CC ../../lib/micropython/py/asmbase.c
CC ../../lib/micropython/py/asmx64.c
CC ../../lib/micropython/py/emitnx64.c
CC ../../lib/micropython/py/asmx86.c
CC ../../lib/micropython/py/emitnx86.c
CC ../../lib/micropython/py/asmthumb.c
CC ../../lib/micropython/py/emitnthumb.c
CC ../../lib/micropython/py/emitinlinethumb.c
CC ../../lib/micropython/py/asmarm.c
CC ../../lib/micropython/py/emitnarm.c
CC ../../lib/micropython/py/asmxtensa.c
CC ../../lib/micropython/py/emitnxtensa.c
CC ../../lib/micropython/py/emitinlinextensa.c
CC ../../lib/micropython/py/emitnxtensawin.c
CC ../../lib/micropython/py/formatfloat.c
CC ../../lib/micropython/py/parsenumbase.c
CC ../../lib/micropython/py/parsenum.c
CC ../../lib/micropython/py/emitglue.c
CC ../../lib/micropython/py/persistentcode.c
CC ../../lib/micropython/py/runtime.c
CC ../../lib/micropython/py/runtime_utils.c
CC ../../lib/micropython/py/scheduler.c
CC ../../lib/micropython/py/nativeglue.c
CC ../../lib/micropython/py/pairheap.c
CC ../../lib/micropython/py/ringbuf.c
CC ../../lib/micropython/py/stackctrl.c
CC ../../lib/micropython/py/argcheck.c
CC ../../lib/micropython/py/warning.c
CC ../../lib/micropython/py/profile.c
CC ../../lib/micropython/py/map.c
CC ../../lib/micropython/py/obj.c
CC ../../lib/micropython/py/objarray.c
CC ../../lib/micropython/py/objattrtuple.c
CC ../../lib/micropython/py/objbool.c
CC ../../lib/micropython/py/objboundmeth.c
CC ../../lib/micropython/py/objcell.c
CC ../../lib/micropython/py/objclosure.c
CC ../../lib/micropython/py/objcomplex.c
CC ../../lib/micropython/py/objdeque.c
CC ../../lib/micropython/py/objdict.c
CC ../../lib/micropython/py/objenumerate.c
CC ../../lib/micropython/py/objexcept.c
CC ../../lib/micropython/py/objfilter.c
CC ../../lib/micropython/py/objfloat.c
CC ../../lib/micropython/py/objfun.c
CC ../../lib/micropython/py/objgenerator.c
CC ../../lib/micropython/py/objgetitemiter.c
CC ../../lib/micropython/py/objint.c
CC ../../lib/micropython/py/objint_longlong.c
CC ../../lib/micropython/py/objint_mpz.c
CC ../../lib/micropython/py/objlist.c
CC ../../lib/micropython/py/objmap.c
CC ../../lib/micropython/py/objmodule.c
CC ../../lib/micropython/py/objobject.c
CC ../../lib/micropython/py/objpolyiter.c
CC ../../lib/micropython/py/objproperty.c
CC ../../lib/micropython/py/objnone.c
CC ../../lib/micropython/py/objnamedtuple.c
CC ../../lib/micropython/py/objrange.c
CC ../../lib/micropython/py/objreversed.c
CC ../../lib/micropython/py/objset.c
CC ../../lib/micropython/py/objsingleton.c
CC ../../lib/micropython/py/objslice.c
CC ../../lib/micropython/py/objstr.c
CC ../../lib/micropython/py/objstrunicode.c
CC ../../lib/micropython/py/objstringio.c
CC ../../lib/micropython/py/objtuple.c
CC ../../lib/micropython/py/objtype.c
CC ../../lib/micropython/py/objzip.c
CC ../../lib/micropython/py/opmethods.c
CC ../../lib/micropython/py/sequence.c
CC ../../lib/micropython/py/stream.c
CC ../../lib/micropython/py/binary.c
CC ../../lib/micropython/py/builtinimport.c
CC ../../lib/micropython/py/builtinevex.c
CC ../../lib/micropython/py/builtinhelp.c
CC ../../lib/micropython/py/modarray.c
CC ../../lib/micropython/py/modbuiltins.c
CC ../../lib/micropython/py/modcollections.c
CC ../../lib/micropython/py/modgc.c
CC ../../lib/micropython/py/modio.c
CC ../../lib/micropython/py/modmath.c
CC ../../lib/micropython/py/modcmath.c
CC ../../lib/micropython/py/modmicropython.c
CC ../../lib/micropython/py/modstruct.c
CC ../../lib/micropython/py/modsys.c
CC ../../lib/micropython/py/moduerrno.c
CC ../../lib/micropython/py/modthread.c
CC ../../lib/micropython/py/vm.c
CC ../../lib/micropython/py/bc.c
CC ../../lib/micropython/py/showbc.c
CC ../../lib/micropython/py/repl.c
CC ../../lib/micropython/py/smallint.c
CC ../../lib/micropython/py/frozenmod.c
CC ../../lib/micropython/extmod/moduasyncio.c
CC ../../lib/micropython/extmod/moductypes.c
CC ../../lib/micropython/extmod/modujson.c
CC ../../lib/micropython/extmod/modure.c
CC ../../lib/micropython/extmod/moduzlib.c
CC ../../lib/micropython/extmod/moduheapq.c
CC ../../lib/micropython/extmod/modutimeq.c
CC ../../lib/micropython/extmod/moduhashlib.c
CC ../../lib/micropython/extmod/moducryptolib.c
CC ../../lib/micropython/extmod/modubinascii.c
CC ../../lib/micropython/extmod/virtpin.c
CC ../../lib/micropython/extmod/machine_mem.c
CC ../../lib/micropython/extmod/machine_pinbase.c
CC ../../lib/micropython/extmod/machine_signal.c
CC ../../lib/micropython/extmod/machine_pulse.c
CC ../../lib/micropython/extmod/machine_i2c.c
CC ../../lib/micropython/extmod/machine_spi.c
CC ../../lib/micropython/extmod/modbluetooth.c
CC ../../lib/micropython/extmod/modussl_axtls.c
CC ../../lib/micropython/extmod/modussl_mbedtls.c
CC ../../lib/micropython/extmod/modurandom.c
CC ../../lib/micropython/extmod/moduselect.c
CC ../../lib/micropython/extmod/moduwebsocket.c
CC ../../lib/micropython/extmod/modwebrepl.c
CC ../../lib/micropython/extmod/modframebuf.c
CC ../../lib/micropython/extmod/vfs.c
CC ../../lib/micropython/extmod/vfs_blockdev.c
CC ../../lib/micropython/extmod/vfs_reader.c
CC ../../lib/micropython/extmod/vfs_posix.c
CC ../../lib/micropython/extmod/vfs_posix_file.c
CC ../../lib/micropython/extmod/vfs_fat.c
CC ../../lib/micropython/extmod/vfs_fat_diskio.c
CC ../../lib/micropython/extmod/vfs_fat_file.c
CC ../../lib/micropython/extmod/vfs_lfs.c
CC ../../lib/micropython/extmod/utime_mphal.c
CC ../../lib/micropython/extmod/uos_dupterm.c
CC ../../lib/micropython/lib/embed/abort_.c
CC ../../lib/micropython/lib/utils/printf.c
AS ../../lib/micropython/lib/utils/gchelper_m3.s
CC drv_display.c
CC drv_image.c
CC drv_radio.c
CC drv_system.c
CC help.c
CC iters.c
CC main.c
CC microbit_accelerometer.c
CC microbit_button.c
CC microbit_compass.c
CC microbit_display.c
CC microbit_i2c.c
CC microbit_image.c
CC microbit_constimage.c
CC microbit_microphone.c
CC microbit_pin.c
CC microbit_pinmode.c
CC microbit_spi.c
CC microbit_uart.c
CC modaudio.c
CC modmachine.c
CC modmicrobit.c
CC modmusic.c
CC modmusictunes.c
CC modos.c
CC modradio.c
CC modspeech.c
CC modutime.c
CC mphalport.c
CC ../../lib/micropython/lib/mp-readline/readline.c
CC ../../lib/micropython/lib/utils/gchelper_native.c
CC ../../lib/micropython/lib/utils/pyexec.c
CC ../../lib/micropython/lib/utils/stdout_helpers.c
CC ../../lib/micropython/ports/nrf/modules/uos/microbitfs.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-nrf52/nrfx/drivers/src/nrfx_nvmc.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/sam/main.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/sam/reciter.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/sam/render.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/sam/sam.c
CC /Users/developer/Documents/micropython-microbit-v2/lib/sam/debug.c
arm-none-eabi-ar rcs libmicropython.a build/py/mpstate.o build/py/nlr.o build/py/nlrx86.o build/py/nlrx64.o build/py/nlrthumb.o build/py/nlrpowerpc.o build/py/nlrxtensa.o build/py/nlrsetjmp.o build/py/malloc.o build/py/gc.o build/py/pystack.o build/py/qstr.o build/py/vstr.o build/py/mpprint.o build/py/unicode.o build/py/mpz.o build/py/reader.o build/py/lexer.o build/py/parse.o build/py/scope.o build/py/compile.o build/py/emitcommon.o build/py/emitbc.o build/py/asmbase.o build/py/asmx64.o build/py/emitnx64.o build/py/asmx86.o build/py/emitnx86.o build/py/asmthumb.o build/py/emitnthumb.o build/py/emitinlinethumb.o build/py/asmarm.o build/py/emitnarm.o build/py/asmxtensa.o build/py/emitnxtensa.o build/py/emitinlinextensa.o build/py/emitnxtensawin.o build/py/formatfloat.o build/py/parsenumbase.o build/py/parsenum.o build/py/emitglue.o build/py/persistentcode.o build/py/runtime.o build/py/runtime_utils.o build/py/scheduler.o build/py/nativeglue.o build/py/pairheap.o build/py/ringbuf.o build/py/stackctrl.o build/py/argcheck.o build/py/warning.o build/py/profile.o build/py/map.o build/py/obj.o build/py/objarray.o build/py/objattrtuple.o build/py/objbool.o build/py/objboundmeth.o build/py/objcell.o build/py/objclosure.o build/py/objcomplex.o build/py/objdeque.o build/py/objdict.o build/py/objenumerate.o build/py/objexcept.o build/py/objfilter.o build/py/objfloat.o build/py/objfun.o build/py/objgenerator.o build/py/objgetitemiter.o build/py/objint.o build/py/objint_longlong.o build/py/objint_mpz.o build/py/objlist.o build/py/objmap.o build/py/objmodule.o build/py/objobject.o build/py/objpolyiter.o build/py/objproperty.o build/py/objnone.o build/py/objnamedtuple.o build/py/objrange.o build/py/objreversed.o build/py/objset.o build/py/objsingleton.o build/py/objslice.o build/py/objstr.o build/py/objstrunicode.o build/py/objstringio.o build/py/objtuple.o build/py/objtype.o build/py/objzip.o build/py/opmethods.o build/py/sequence.o build/py/stream.o build/py/binary.o build/py/builtinimport.o build/py/builtinevex.o build/py/builtinhelp.o build/py/modarray.o build/py/modbuiltins.o build/py/modcollections.o build/py/modgc.o build/py/modio.o build/py/modmath.o build/py/modcmath.o build/py/modmicropython.o build/py/modstruct.o build/py/modsys.o build/py/moduerrno.o build/py/modthread.o build/py/vm.o build/py/bc.o build/py/showbc.o build/py/repl.o build/py/smallint.o build/py/frozenmod.o build/extmod/moduasyncio.o build/extmod/moductypes.o build/extmod/modujson.o build/extmod/modure.o build/extmod/moduzlib.o build/extmod/moduheapq.o build/extmod/modutimeq.o build/extmod/moduhashlib.o build/extmod/moducryptolib.o build/extmod/modubinascii.o build/extmod/virtpin.o build/extmod/machine_mem.o build/extmod/machine_pinbase.o build/extmod/machine_signal.o build/extmod/machine_pulse.o build/extmod/machine_i2c.o build/extmod/machine_spi.o build/extmod/modbluetooth.o build/extmod/modussl_axtls.o build/extmod/modussl_mbedtls.o build/extmod/modurandom.o build/extmod/moduselect.o build/extmod/moduwebsocket.o build/extmod/modwebrepl.o build/extmod/modframebuf.o build/extmod/vfs.o build/extmod/vfs_blockdev.o build/extmod/vfs_reader.o build/extmod/vfs_posix.o build/extmod/vfs_posix_file.o build/extmod/vfs_fat.o build/extmod/vfs_fat_diskio.o build/extmod/vfs_fat_file.o build/extmod/vfs_lfs.o build/extmod/utime_mphal.o build/extmod/uos_dupterm.o build/lib/embed/abort_.o build/lib/utils/printf.o build/lib/utils/gchelper_m3.o build/drv_display.o build/drv_image.o build/drv_radio.o build/drv_system.o build/help.o build/iters.o build/main.o build/microbit_accelerometer.o build/microbit_button.o build/microbit_compass.o build/microbit_display.o build/microbit_i2c.o build/microbit_image.o build/microbit_constimage.o build/microbit_microphone.o build/microbit_pin.o build/microbit_pinmode.o build/microbit_spi.o build/microbit_uart.o build/modaudio.o build/modmachine.o build/modmicrobit.o build/modmusic.o build/modmusictunes.o build/modos.o build/modradio.o build/modspeech.o build/modutime.o build/mphalport.o build/lib/mp-readline/readline.o build/lib/utils/gchelper_native.o build/lib/utils/pyexec.o build/lib/utils/stdout_helpers.o build/ports/nrf/modules/uos/microbitfs.o build//Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-nrf52/nrfx/drivers/src/nrfx_nvmc.o build//Users/developer/Documents/micropython-microbit-v2/lib/sam/main.o build//Users/developer/Documents/micropython-microbit-v2/lib/sam/reciter.o build//Users/developer/Documents/micropython-microbit-v2/lib/sam/render.o build//Users/developer/Documents/micropython-microbit-v2/lib/sam/sam.o build//Users/developer/Documents/micropython-microbit-v2/lib/sam/debug.o
git -C ../lib/codal checkout CMakeLists.txt build.py
Updated 0 paths from the index
cat codal.patch | git -C ../lib/codal apply -
(cd ../lib/codal && ./build.py)
codal-microbit-v2 is already installed
Set target: codal-microbit-v2 
Using target.json (dev version) 
Targeting codal-microbit-v2
-- The C compiler identification is GNU 9.3.1
-- The CXX compiler identification is GNU 9.3.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - no
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/arm-none-eabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - no
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/arm-none-eabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: /usr/local/bin/arm-none-eabi-gcc
Supressing -Wexpansion-to-defined.
-- Adding library path: (/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries)
Installing dependencies...
codal-core is already installed
codal-nrf52 is already installed
codal-microbit-nrf5sdk is already installed
Using library: codal-microbit-v2
Using library: codal-core
Using library: codal-nrf52
Using library: codal-microbit-nrf5sdk
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/developer/Documents/micropython-microbit-v2/lib/codal/build
Scanning dependencies of target codal-core
[  2%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDCRC.cpp.o
[  2%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/JDService.cpp.o
[  2%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/JACDAC.cpp.o
[  3%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDConfigurationService.cpp.o
[  3%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/JDPhysicalLayer.cpp.o
[  3%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDControlService.cpp.o
[  4%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDDeviceManager.cpp.o
[  4%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDGPIOIdentification.cpp.o
[  5%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDRNGService.cpp.o
[  5%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/control/JDSoundIdentification.cpp.o
[  6%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/services/JDAccelerometerService.cpp.o
[  6%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/services/JDConsoleService.cpp.o
[  7%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/services/JDMessageBusService.cpp.o
[  7%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/services/JDPacketSniffer.cpp.o
[  8%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/JACDAC/services/JDTestService.cpp.o
[  8%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalCompat.cpp.o
[  9%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalComponent.cpp.o
[  9%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalDevice.cpp.o
[ 10%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalDmesg.cpp.o
[ 10%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalFiber.cpp.o
[ 11%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalHeapAllocator.cpp.o
[ 11%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalListener.cpp.o
[ 12%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/CodalUtil.cpp.o
[ 12%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/MemberFunctionCallback.cpp.o
[ 13%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/core/codal_default_target_hal.cpp.o
[ 13%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/AbstractButton.cpp.o
[ 13%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Accelerometer.cpp.o
[ 14%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/CodalUSB.cpp.o
[ 14%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Compass.cpp.o
[ 15%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Display.cpp.o
[ 15%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Gyroscope.cpp.o
[ 16%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/I2C.cpp.o
[ 16%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/SPI.cpp.o
[ 17%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Sensor.cpp.o
[ 17%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Serial.cpp.o
[ 18%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Timer.cpp.o
[ 18%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/AnalogSensor.cpp.o
[ 19%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/AnimatedDisplay.cpp.o
[ 19%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/AsciiKeyMap.cpp.o
[ 20%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/Button.cpp.o
[ 20%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/FXOS8700.cpp.o
[ 21%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/GhostFAT.cpp.o
[ 21%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/HID.cpp.o
[ 22%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/HIDJoystick.cpp.o
[ 22%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/HIDKeyboard.cpp.o
[ 23%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/HIDMouse.cpp.o
[ 23%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/ILI9341.cpp.o
[ 24%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/KeyValueStorage.cpp.o
[ 24%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/LEDMatrix.cpp.o
[ 25%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/LIS3DH.cpp.o
[ 25%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/LSM303Accelerometer.cpp.o
[ 26%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/LSM303Magnetometer.cpp.o
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-core/source/drivers/KeyValueStorage.cpp: In member function 'int codal::KeyValueStorage::size()':
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-core/source/drivers/KeyValueStorage.cpp:389:55: warning: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'struct codal::KeyValueStore' from an array of 'uint32_t' {aka 'long unsigned int'} [-Wclass-memaccess]
  389 |     memcpy(&store, flashPagePtr, sizeof(KeyValueStore));
      |                                                       ^
In file included from /Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-core/source/drivers/KeyValueStorage.cpp:32:
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-core/./inc/drivers/KeyValueStorage.h:56:10: note: 'struct codal::KeyValueStore' declared here
   56 |   struct KeyValueStore
      |          ^~~~~~~~~~~~~
/var/folders/bf/sd0knffj2r32l60mdqmd6t200000gn/T//ccN1DDwq.s: Assembler messages:
/var/folders/bf/sd0knffj2r32l60mdqmd6t200000gn/T//ccN1DDwq.s:124: Warning: ignoring changed section attributes for .data
[ 26%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/LinearAnalogSensor.cpp.o
[ 27%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/MAG3110.cpp.o
[ 27%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/MMA8653.cpp.o
[ 28%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/MPU6050.cpp.o
[ 28%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/MessageBus.cpp.o
[ 29%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/MultiButton.cpp.o
[ 29%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/NonLinearAnalogSensor.cpp.o
[ 30%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/PearsonHash.cpp.o
[ 30%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/ST7735.cpp.o
[ 30%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/ScreenIO.cpp.o
[ 31%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/StandardSPIFlash.cpp.o
[ 31%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/TouchButton.cpp.o
[ 32%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/TouchSensor.cpp.o
[ 32%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/USBJACDAC.cpp.o
[ 33%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/drivers/USBMSC.cpp.o
[ 33%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/DataStream.cpp.o
[ 34%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/LevelDetector.cpp.o
[ 34%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/LevelDetectorSPL.cpp.o
[ 35%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/MemorySource.cpp.o
[ 35%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/Mixer.cpp.o
[ 36%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/StreamNormalizer.cpp.o
[ 36%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/streams/Synthesizer.cpp.o
[ 37%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/BitmapFont.cpp.o
[ 37%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/CoordinateSystem.cpp.o
[ 38%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/Event.cpp.o
[ 38%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/Image.cpp.o
[ 39%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/ManagedBuffer.cpp.o
[ 39%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/ManagedString.cpp.o
[ 40%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/Matrix4.cpp.o
[ 40%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/RefCounted.cpp.o
[ 41%] Building CXX object libraries/codal-core/CMakeFiles/codal-core.dir/source/types/RefCountedInit.cpp.o
[ 41%] Linking CXX static library ../../libcodal-core.a
[ 41%] Built target codal-core
Scanning dependencies of target codal-nrf52
[ 42%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52I2C.cpp.o
[ 42%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52ADC.cpp.o
[ 43%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52PDM.cpp.o
[ 44%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52Pin.cpp.o
[ 44%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52PWM.cpp.o
[ 44%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52Radio.cpp.o
[ 45%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52RadioDatagram.cpp.o
[ 45%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52RadioEvent.cpp.o
[ 46%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52SPI.cpp.o
[ 46%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52Serial.cpp.o
[ 47%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRF52TouchSensor.cpp.o
[ 47%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/NRFLowLevelTimer.cpp.o
[ 48%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/ZSingleWireSerial.cpp.o
[ 48%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/codal_target_hal_base.cpp.o
[ 49%] Building CXX object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/source/peripheral_alloc.cpp.o
[ 49%] Building ASM object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/asm/CortexContextSwitch.s.o
[ 50%] Building C object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/nrfx/mdk/system_nrf52833.c.o
[ 50%] Building ASM object libraries/codal-nrf52/CMakeFiles/codal-nrf52.dir/nrfx/mdk/gcc_startup_nrf52833.S.o
[ 51%] Linking CXX static library ../../libcodal-nrf52.a
[ 51%] Built target codal-nrf52
Scanning dependencies of target codal-microbit-nrf5sdk
[ 52%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/log/src/nrf_log_str_formatter.c.o
[ 52%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/log/src/nrf_log_frontend.c.o
[ 53%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/nrf_log_backend_dmesg.c.o
[ 53%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/log/src/nrf_log_backend_serial.c.o
[ 54%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/util/app_error.c.o
[ 55%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/util/app_error_weak.c.o
[ 55%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/util/app_error_handler_gcc.c.o
[ 55%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/util/app_util_platform.c.o
[ 56%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/app_timer2.c.o
[ 56%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/drv_rtc.c.o
[ 57%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/crc32/crc32.c.o
[ 57%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/fds/fds.c.o
[ 57%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/atomic_fifo/nrf_atfifo.c.o
[ 58%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/atomic_flags/nrf_atflags.c.o
[ 58%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/atomic/nrf_atomic.c.o
[ 59%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/balloc/nrf_balloc.c.o
[ 59%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/external/fprintf/nrf_fprintf.c.o
[ 60%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/external/fprintf/nrf_fprintf_format.c.o
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/libraries/fds/fds.c: In function 'write_execut':
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/libraries/fds/fds.c:1262:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1262 |             if (!record_find_by_desc(&desc, &page))
      |                ^
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/libraries/fds/fds.c:1270:9: note: here
 1270 |         case FDS_OP_WRITE_HEADER_BEGIN:
      |         ^~~~
[ 60%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/fstorage/nrf_fstorage.c.o
[ 61%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/fstorage/nrf_fstorage_sd.c.o
[ 62%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/memobj/nrf_memobj.c.o
[ 62%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/nrf_pwr_mgmt.c.o
[ 62%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/ringbuf/nrf_ringbuf.c.o
[ 63%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/experimental_section_vars/nrf_section_iter.c.o
[ 63%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/sortlist/nrf_sortlist.c.o
[ 64%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/strerror/nrf_strerror.c.o
[ 64%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/libraries/bootloader/dfu/nrf_dfu_svci.c.o
[ 65%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/common/ble_advdata.c.o
[ 65%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/common/ble_conn_params.c.o
[ 66%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/common/ble_conn_state.c.o
[ 66%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/common/ble_srv_common.c.o
[ 67%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/nrf_ble_gatt/nrf_ble_gatt.c.o
[ 67%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/gatt_cache_manager.c.o
[ 68%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/gatts_cache_manager.c.o
[ 68%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/id_manager.c.o
[ 69%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/peer_data_storage.c.o
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/ble/peer_manager/gatt_cache_manager.c: In function 'service_changed_send_in_evt':
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/ble/peer_manager/gatt_cache_manager.c:364:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
  364 |         {
      |         ^
/Users/developer/Documents/micropython-microbit-v2/lib/codal/libraries/codal-microbit-nrf5sdk/nRF5SDK/components/ble/peer_manager/gatt_cache_manager.c:385:9: note: here
  385 |         case NRF_ERROR_NOT_SUPPORTED:
      |         ^~~~
[ 69%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/peer_database.c.o
[ 70%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/peer_id.c.o
[ 70%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/peer_manager.c.o
[ 71%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/peer_manager_handler.c.o
[ 71%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/pm_buffer.c.o
[ 72%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/security_dispatcher.c.o
[ 72%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/peer_manager/security_manager.c.o
[ 73%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/softdevice/common/nrf_sdh.c.o
[ 73%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/softdevice/common/nrf_sdh_ble.c.o
[ 73%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/nrf_sdh_soc.c.o
[ 74%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/ble_services/ble_dfu/ble_dfu.c.o
[ 74%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK_mods/ble_dfu_bonded.c.o
[ 75%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/ble_services/ble_dfu/ble_dfu_unbonded.c.o
[ 75%] Building C object libraries/codal-microbit-nrf5sdk/CMakeFiles/codal-microbit-nrf5sdk.dir/nRF5SDK/components/ble/ble_services/ble_dis/ble_dis.c.o
[ 76%] Linking CXX static library ../../libcodal-microbit-nrf5sdk.a
[ 76%] Built target codal-microbit-nrf5sdk
Scanning dependencies of target codal-microbit-v2
[ 77%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitAudio.cpp.o
[ 77%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitAccelerometer.cpp.o
[ 77%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitCompass.cpp.o
[ 77%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitCompat.cpp.o
[ 78%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitCompassCalibrator.cpp.o
[ 79%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitDevice.cpp.o
[ 79%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitDisplay.cpp.o
[ 80%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitFile.cpp.o
[ 80%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitFileSystem.cpp.o
[ 81%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitFlash.cpp.o
[ 81%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitMemoryMap.cpp.o
[ 82%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitPowerManager.cpp.o
[ 82%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitRadio.cpp.o
[ 83%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitRadioDatagram.cpp.o
[ 83%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitRadioEvent.cpp.o
[ 84%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitStorage.cpp.o
[ 84%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitThermometer.cpp.o
[ 85%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/MicroBitUSBFlashManager.cpp.o
[ 85%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/Mixer2.cpp.o
[ 86%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/NRF52LedMatrix.cpp.o
[ 86%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/PacketBuffer.cpp.o
[ 87%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/SoundEmojiSynthesizer.cpp.o
[ 87%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/SoundExpressions.cpp.o
[ 88%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/SoundOutputPin.cpp.o
[ 88%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/SoundSynthesizerEffects.cpp.o
[ 89%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitAccelerometerService.cpp.o
[ 89%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLEChar.cpp.o
[ 90%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLEManager.cpp.o
[ 90%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLEService.cpp.o
[ 90%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLEServices.cpp.o
[ 91%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitBLETypes.cpp.o
[ 91%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitButtonService.cpp.o
[ 92%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitEddystone.cpp.o
[ 92%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitEventService.cpp.o
[ 93%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitIOPinService.cpp.o
[ 93%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitLEDService.cpp.o
[ 94%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitMagnetometerService.cpp.o
[ 94%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitPartialFlashingService.cpp.o
[ 95%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitTemperatureService.cpp.o
[ 95%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/bluetooth/MicroBitUARTService.cpp.o
[ 96%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/source/compat/MbedMemberFunctionCallback.cpp.o
[ 96%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/model/MicroBit.cpp.o
[ 97%] Building CXX object libraries/codal-microbit-v2/CMakeFiles/codal-microbit-v2.dir/model/MicroBitIO.cpp.o
[ 97%] Linking CXX static library ../../libcodal-microbit-v2.a
[ 97%] Built target codal-microbit-v2
Scanning dependencies of target MICROBIT
[ 97%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/microbithal.cpp.o
[ 97%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/main.cpp.o
[ 98%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/microbithal_audio.cpp.o
[ 98%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/microbithal_microphone.cpp.o
[ 99%] Building CXX object CMakeFiles/MICROBIT.dir/Users/developer/Documents/micropython-microbit-v2/src/codal_app/mphalport.cpp.o
[ 99%] Linking CXX executable MICROBIT
[ 99%] Built target MICROBIT
Scanning dependencies of target MICROBIT_hex
Scanning dependencies of target MICROBIT_bin
[100%] converting to hex file.
[100%] converting to bin file.
[100%] Built target MICROBIT_bin
[100%] Built target MICROBIT_hex
size ../lib/codal/build/MICROBIT
__TEXT  __DATA  __OBJC  others  dec hex
error: /Library/Developer/CommandLineTools/usr/bin/size: file: ../lib/codal/build/MICROBIT is not an object file
make: *** [all] Error 1
developer@mac-developer src % 
mytechnotalent commented 3 years ago

I just tried in a new clone, following the instructions in the README and got a working build in macOS without any issues.

Could you copy the full output of a build (after a make clean) from beginning to end? It'd be really useful to also get the version of Arm GCC and CMake.

It sounds like your build is producing a lib/codal/build/MICROBIT file, but it is not an object file? Is your build generating a lib/codal/MICROBIT.hex and MICROBIT.bin file as well?

It is creating a lib/codal/MICROBIT.hex and a lib/codal/MICROBIT.bin yes.

microbit-carlos commented 3 years ago

Right, output looks good and sounds like it's generating everything. It's possible size in your environment is executing a tool from a compiler incompatible with this kind of object file.

Can you try size --version? In the meantime, if arm-none-eabi-size is in your path you can also edit that line in the makefile to run that instead of just size (or just comment out that line, is there just for info).

mytechnotalent commented 3 years ago
developer@mac-developer src % size --version
error: /Library/Developer/CommandLineTools/usr/bin/size: invalid argument --
Usage: /Library/Developer/CommandLineTools/usr/bin/size [-m] [-l] [-x] [--] [[-arch <arch_flag>] ...] [file ...]
developer@mac-developer src % 

Does not give a version number.

I do not see arm-none-eabi-size in either makefile as arm-none-eabi-size is in my path as you can see:

developer@mac-developer src % arm-none-eabi-size
arm-none-eabi-size: 'a.out': No such file
developer@mac-developer src % 
mytechnotalent commented 3 years ago
developer@mac-developer src % arm-none-eabi-size --version
GNU size (GNU Arm Embedded Toolchain 9-2020-q2-update) 2.34.0.20200428
Copyright (C) 2020 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
developer@mac-developer src % 
microbit-carlos commented 3 years ago

Right, looking at the output from size --version I am not sure what programme size is in your environment, but that's definitely the issue.

I do not see arm-none-eabi-size in either makefile as arm-none-eabi-size is in my path as you can see:

What I meant is that you can edit this line to replace size with arm-none-eabi-size, or comment it out: https://github.com/microbit-foundation/micropython-microbit-v2/blob/3e09245a46799711b8a285f0a2349e5c13d6b948/src/Makefile#L11

@dpgeorge I'm not too familiar with the different versions of size, should we make this change to the Makefile?

mytechnotalent commented 3 years ago

@microbit-carlos @dpgeorge I have successfully tested the change on line 11:

micropython-microbit-v2/src/Makefile

Line 11 in 3e09245 arm-none-eabi-size $(CODAL_DIR)/build/MICROBIT

It works from a fresh clone and with my modified C libs. If this does not break on your builds I would suggest making this a perm change for everyone as you might be suggesting @microbit-carlos.

dpgeorge commented 3 years ago

Yes this should be arm-none-eabi-size. Fixed in f98d7b1cc835718cd0d2a75e822aa5eafe594961