lancaster-university / microbit-samples

http://lancaster-university.github.io/microbit-docs
Other
114 stars 72 forks source link

Unable to compile out of the box #28

Open ceneblock opened 5 years ago

ceneblock commented 5 years ago

Following the instructions listed here, I'm unable to compile the basics.

When performing yt build, the following is the results

ceneblock@ceneblock-lxubuntu:~/microbit-samples$ yt build                                                                                                                                    
info: get versions for microbit                                                                                                                                                              
info: download microbit@v2.1.1 from GitHub lancaster-university/microbit                                                                                                                     
info: get versions for microbit-dal                                                                                                                                                          
info: download microbit-dal@v2.1.1 from GitHub lancaster-university/microbit-dal                                                                                                             
info: get versions for mbed-classic                                                                                                                                                          
info: download mbed-classic@microbit_hfclk+mb6 from GitHub lancaster-university/mbed-classic                                                                                                 
info: get versions for ble                                                                                                                                                                   
info: download ble@v2.5.0+mb3 from GitHub lancaster-university/BLE_API                                                                                                                       
info: get versions for ble-nrf51822                                                                                                                                                          
info: download ble-nrf51822@v2.5.0+mb7 from GitHub lancaster-university/nRF51822                                                                                                             
info: get versions for nrf51-sdk                                                                                                                                                             
info: download nrf51-sdk@v2.2.0+mb4 from GitHub lancaster-university/nrf51-sdk                                                                                                               
info: generate for target: bbc-microbit-classic-gcc 0.2.3 at /home/ceneblock/microbit-samples/yotta_targets/bbc-microbit-classic-gcc                                                         
CMake Deprecation Warning at CMakeLists.txt:16 (cmake_policy):                                                                                                                               
  The OLD behavior for policy CMP0017 will be removed from a future version                                                                                                                  
  of CMake.                                                                                                                                                                                  

  The cmake-policies(7) manual explains that the OLD behaviors of all                                                                                                                        
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Deprecation Warning at /usr/share/cmake-3.12/Modules/CMakeForceCompiler.cmake:69 (message):
  The CMAKE_FORCE_C_COMPILER macro is deprecated.  Instead just set
  CMAKE_C_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
  /home/ceneblock/microbit-samples/yotta_targets/mbed-gcc/CMake/toolchain.cmake:78 (cmake_force_c_compiler)
  toolchain.cmake:8 (include)
  /usr/share/cmake-3.12/Modules/CMakeDetermineSystem.cmake:94 (include)
  CMakeLists.txt:76 (project)

CMake Deprecation Warning at /usr/share/cmake-3.12/Modules/CMakeForceCompiler.cmake:83 (message):
  The CMAKE_FORCE_CXX_COMPILER macro is deprecated.  Instead just set
  CMAKE_CXX_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
  /home/ceneblock/microbit-samples/yotta_targets/mbed-gcc/CMake/toolchain.cmake:79 (cmake_force_cxx_compiler)
  toolchain.cmake:8 (include)
  /usr/share/cmake-3.12/Modules/CMakeDetermineSystem.cmake:94 (include)
  CMakeLists.txt:76 (project)

GCC version is: 6.3.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-none-eabi-gcc
suppressing warnings from ble-nrf51822
suppressing warnings from nrf51-sdk
suppressing ALL warnings from mbed-classic, ble, ble-nrf51822 & nrf51-sdk
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ceneblock/microbit-samples/build/bbc-microbit-classic-gcc
[1/172] Building CXX object ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/BusInOut.cpp.o
FAILED: ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/BusInOut.cpp.o 
/usr/bin/arm-none-eabi-g++ -DYOTTA_MODULE_NAME=mbed-classic -Igenerated/include -I/home/ceneblock/microbit-samples -I/home/ceneblock/microbit-samples/yotta_modules/microbit -I/home/ceneblock/microbit-samples/yotta_modules/microbit-dal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic -I/home/ceneblock/microbit-samples/yotta_modules/ble -I/home/ceneblock/microbit-samples/yotta_modules/ble-nrf51822 -I/home/ceneblock/microbit-samples/yotta_modules/nrf51-sdk -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/hal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/TOOLCHAIN_GCC_ARM -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/TOOLCHAIN_GCC_ARM/TARGET_MCU_NRF51_16K_S110 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/crc16 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/scheduler -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/util -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_8_0_0 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s130_nrf51822_1_0_0 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT -fno-exceptions -fno-unwind-tables -ffunction-sections -fdata-sections -Wall -Wextra -fno-rtti -fno-threadsafe-statics -mcpu=cortex-m0 -mthumb -D__thumb2__ -std=c++11 -fwrapv -Os -g -gdwarf-3 -DNDEBUG   -DTOOLCHAIN_GCC -DTOOLCHAIN_GCC_ARM -DMBED_OPERATORS -DNRF51 -DTARGET_NORDIC -DTARGET_M0 -D__MBED__=1 -DMCU_NORDIC_16K -DTARGET_NRF51_MICROBIT -DTARGET_MCU_NORDIC_16K -DTARGET_MCU_NRF51_16K_S110  -DTARGET_NRF_LFCLK_RC -DTARGET_MCU_NORDIC_16K -D__CORTEX_M0 -DARM_MATH_CM0 -include "/home/ceneblock/microbit-samples/build/bbc-microbit-classic-gcc/yotta_config.h" -w -MMD -MT ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/BusInOut.cpp.o -MF ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/BusInOut.cpp.o.d -o ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/BusInOut.cpp.o -c /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/common/BusInOut.cpp
In file included from /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api/DigitalInOut.h:19:0,
                 from /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api/BusInOut.h:19,
                 from /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/common/BusInOut.cpp:16:
/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api/platform.h:25:19: fatal error: cstddef: No such file or directory
 #include <cstddef>
                   ^
compilation terminated.
[2/172] Building CXX object ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/CAN.cpp.o
FAILED: ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/CAN.cpp.o 
/usr/bin/arm-none-eabi-g++ -DYOTTA_MODULE_NAME=mbed-classic -Igenerated/include -I/home/ceneblock/microbit-samples -I/home/ceneblock/microbit-samples/yotta_modules/microbit -I/home/ceneblock/microbit-samples/yotta_modules/microbit-dal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic -I/home/ceneblock/microbit-samples/yotta_modules/ble -I/home/ceneblock/microbit-samples/yotta_modules/ble-nrf51822 -I/home/ceneblock/microbit-samples/yotta_modules/nrf51-sdk -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/hal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/TOOLCHAIN_GCC_ARM -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/cmsis/TARGET_NORDIC/TARGET_MCU_NRF51822/TOOLCHAIN_GCC_ARM/TARGET_MCU_NRF51_16K_S110 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/crc16 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/scheduler -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/nordic_sdk/components/libraries/util -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s110_nrf51822_8_0_0 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/Lib/s130_nrf51822_1_0_0 -I/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/TARGET_NRF51_MICROBIT -fno-exceptions -fno-unwind-tables -ffunction-sections -fdata-sections -Wall -Wextra -fno-rtti -fno-threadsafe-statics -mcpu=cortex-m0 -mthumb -D__thumb2__ -std=c++11 -fwrapv -Os -g -gdwarf-3 -DNDEBUG   -DTOOLCHAIN_GCC -DTOOLCHAIN_GCC_ARM -DMBED_OPERATORS -DNRF51 -DTARGET_NORDIC -DTARGET_M0 -D__MBED__=1 -DMCU_NORDIC_16K -DTARGET_NRF51_MICROBIT -DTARGET_MCU_NORDIC_16K -DTARGET_MCU_NRF51_16K_S110  -DTARGET_NRF_LFCLK_RC -DTARGET_MCU_NORDIC_16K -D__CORTEX_M0 -DARM_MATH_CM0 -include "/home/ceneblock/microbit-samples/build/bbc-microbit-classic-gcc/yotta_config.h" -w -MMD -MT ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/CAN.cpp.o -MF ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/CAN.cpp.o.d -o ym/mbed-classic/existing/CMakeFiles/mbed-classic.dir/common/CAN.cpp.o -c /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/common/CAN.cpp
In file included from /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api/CAN.h:19:0,
                 from /home/ceneblock/microbit-samples/yotta_modules/mbed-classic/common/CAN.cpp:16:
/home/ceneblock/microbit-samples/yotta_modules/mbed-classic/api/platform.h:25:19: fatal error: cstddef: No such file or directory
 #include <cstddef>
                   ^
compilation terminated.
ninja: build stopped: subcommand failed.
error: command ['ninja'] failed

Now I do have newlib installed as shown here:

ceneblock@ceneblock-lxubuntu:~/microbit-samples$ find / -name cstddef 2>/dev/null 
/usr/include/c++/8/cstddef
/usr/include/newlib/c++/7.3.1/cstddef
/usr/local/pic32-tools/pic32mx/include/c++/4.5.1/cstddef

If there is any additional information that I can provide, then please let me know.

Some useful information:

ceneblock@ceneblock-lxubuntu:~/microbit-samples$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (15:6.3.1+svn253039-1build1) 6.3.1 20170620
Copyright (C) 2016 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.
ceneblock@ceneblock-lxubuntu:~/microbit-samples$ uname  -a
Linux ceneblock-lxubuntu 4.18.0-17-generic #18-Ubuntu SMP Wed Mar 13 14:34:40 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
ceneblock@ceneblock-lxubuntu:~/microbit-samples$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.10
DISTRIB_CODENAME=cosmic
DISTRIB_DESCRIPTION="Ubuntu 18.10"
NAME="Ubuntu"
VERSION="18.10 (Cosmic Cuttlefish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.10"
VERSION_ID="18.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=cosmic
UBUNTU_CODENAME=cosmic