Trouble compiling OLA examples.

I’m trying to get setup to edit the OLA firmware, but having troubles. Here’s my setup:

  • - Arduino 1.8.13 (Windows Store 1.8.42)
  • - SparkFun Apollo boards 1.2.1 Installed.
  • - Trying to compile OLA_IMU_basic.ino.
  • - Board set to Sparkfun Aretmis Redboard (is this correct for OLA?)
  • Error is:

    In file included from c:\users\ryan\onedrive - university of north carolina at chapel hill\documents\arduinodata\packages\sparkfun\tools\arm-none-eabi-gcc\8-2018-q4-major\arm-none-eabi\include\c++\8.2.1\cmath:41,
                     from c:\users\ryan\onedrive - university of north carolina at chapel hill\documents\arduinodata\packages\sparkfun\tools\arm-none-eabi-gcc\8-2018-q4-major\arm-none-eabi\include\c++\8.2.1\math.h:36,
                     from C:\Users\Ryan\OneDrive - University of North Carolina at Chapel Hill\Documents\ArduinoData\packages\SparkFun\hardware\apollo3\1.2.1/cores/arduino/ard_sup/Arduino.h:47,
                     from sketch\OpenLog_Artemis.ino.cpp:1:
    c:\users\ryan\onedrive - university of north carolina at chapel hill\documents\arduinodata\packages\sparkfun\tools\arm-none-eabi-gcc\8-2018-q4-major\arm-none-eabi\include\c++\8.2.1\bits\c++config.h:508:10: fatal error: bits/os_defines.h: No such file or directory
     #include <bits/os_defines.h>
              ^~~~~~~~~~~~~~~~~~~
    compilation terminated.
    exit status 1
    Error compiling for board SparkFun RedBoard Artemis.
    

    Previously it complained about a missing file bits/c++config.h, but I copied one into bits from elsewhere. I guess I’ll keep copying in files, but something seems amiss.

    Update:

    I copied in a os_defines.h that was missing, then cpu_defines.h.

    It then was missing a library for the ICM-20948, so installed that. Now I’m stumped again with this error:

    arm-none-eabi-gcc: error: N\AppData\Local\Temp\arduino_build_673898\core\core.a: No such file or directory
    exit status 1
    Error compiling for board SparkFun RedBoard Artemis ATP.
    

    If I look in C:\Users\Ryan N\AppData\Local\Temp\arduino_build_673898\core\ there is a file called core.a there.

    Hi Ryan,

    I’ve tried compiling the example here and it works fine - so we just need to work out what’s different with your setup.

    Those errors look very weird… Do you have the IMU library installed?

    If you have the sketch open in the Arduino IDE, you can click on the link in line 26 to open the library manager and install the IMU library:

    http://librarymanager/All#SparkFun_ICM_20948_IMU

    Also please set the board to SparkFun RedBoard Artemis ATP

    Let us know how it goes.

    All the best,

    Paul

    So I installed the Arduino software on my home PC. I can get the IMU example to compile. The BasicFileTest.ino failed until I installed SdFat library as I think I had an old version on my PC.

    I tried compiling OpenLog_Artemis, and after installing a lot of libraries, it seems to work! I still ned to get this working on my office PC, but being able to compile at home is helpful.

    So I uninstalled the arduino software, then re-installed it. Re installed all the libraries, then tried compiling and get the same error:

     ... "C:\\Users\\Ryan N\\AppData\\Local\\Temp\\arduino_build_50551\\core\\config\\variant.cpp.o"
    "C:\\Users\\Ryan" "N\\AppData\\Local\\Temp\\arduino_build_50551\\core\\core.a"
    "-LC:\\Users\\Ryan N\\AppData\\Local\\Arduino15\\packages\\SparkFun\\hardware\\apollo3\\1.2.1/cores/arduino/am_sdk_ap3/CMSIS/ARM/Lib/ARM"
    -larm_cortexM4lf_math -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -static -Wl,--gc-sections,--entry,Reset_Handler -Wl,--start-group -lm -lc -lgcc -Wl,--end-group -fno-exceptions -nostdlib --specs=nano.specs -t -lstdc++ -lc -lnosys -lm
    arm-none-eabi-gcc: error: N\AppData\Local\Temp\arduino_build_50551\core\core.a: No such file or directory
    

    If you look closely, it’s adding some extra double quotes in the path to core.a which is why it can’t find it. Seems like a problem handling paths with spaces in them?

    Edit: Just want to add, that this works on my home PC, because my user name there doesn’t have a space in it.

    Not 100% sure it’s the right place, but I’ve added an issue at https://github.com/sparkfun/Arduino_Apollo3/issues

    Hi

    I’m having some of the same issues when trying to compile the OLA firmware.

    First I got a missing avr/pgmspace.h from include in zmodem_crc16.cpp file. No matter what I do, I can’t seem to add it. As I understand this is not included in the apollo3 core…??? How can I include it in the path for the compiler?

    After much fiddeling I suddenly start to get “error compiling for SparkFun RedBoard Artemis ATP”. I’ve reinstalled the Arduino IDE and reinstalled the boards via board manager. No luck.

    Verbose errorlog:

    Arduino: 1.8.13 (Windows 10), Board: “SparkFun RedBoard Artemis ATP, 921600, SparkFun Variable Loader (Recommended)”
    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\kaare\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\kaare\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries \srv01\users$\kaare\Documents\Arduino\libraries -fqbn=SparkFun:apollo3:amap3atp:svl_baud=921600,loader=sparkfun_svl -ide-version=10813 -build-path C:\Users\kaare\AppData\Local\Temp\arduino_build_230309 -warnings=none -build-cache C:\Users\kaare\AppData\Local\Temp\arduino_cache_730187 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arm-none-eabi-gcc.path=C:\Users\kaare\AppData\Local\Arduino15\packages\SparkFun\tools\arm-none-eabi-gcc\8-2018-q4-major -prefs=runtime.tools.arm-none-eabi-gcc-8-2018-q4-major.path=C:\Users\kaare\AppData\Local\Arduino15\packages\SparkFun\tools\arm-none-eabi-gcc\8-2018-q4-major -verbose C:\Arduino_projects\OpenLog_Artemis-master\Firmware\OpenLog_Artemis\OpenLog_Artemis.ino
    Error resolving FQBN: board
    Error compiling for board SparkFun RedBoard Artemis ATP.

    I don’t intend to hijack this thread, but I thought the problems are so similar that I post here instead of starting a new thread.

    Best regards.

    Are you compiling, or uploading? Will it compile without uploading?

    Hi @kaarejor,

    We should really discuss this in a new thread. I think this is different to Ryan’s issue?

    Please make sure you are using v1.2.1 of the SparkFun Apollo Boards. The OLA code has not yet been tested using the new v2 core.

    If you need more help, please start a new thread.

    Best wishes,

    Paul

    Hi

    Thanks for the replies. After much searching and gnashing of teeth I found an old copy of the v2 core files. Uninstalling the Apollo boards in the IDE did not remove this, so when I (re)installed the 1.2.1 version of the boards, the v2 was still being used while compiling. I deleted the directory and the firmware compiled! I have no idea what was causing the compile to fail on the avr/pgmspace.h in the first place, but that error also magically disappeard.

    Lesson learned: If you have ever installed v2 of the Apollo boards, you will manually have to delete them from C:\Users<username>\AppData\Local\Arduino15\packages\SparkFun\hardware\apollo3 before it will compile for 1.2.1

    Best regards

    Thanks for letting us know - glad that’s now working for you.

    v2 of Apollo3 is a BIG change - going over to Mbed. It’s a whole new compiler, so I’m not completely surprised that it doesn’t like pgmspace. We are going to upgrade OLA to v2 - but not just now. Apologies for any stress caused!

    Best wishes,

    Paul