Closed
Description
Hi there,
thanks for this work!
System
- OS: linux (ubuntu 18.04)
ruby -v
: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]bundle -v
: Bundler version 2.1.4bundle info arduino_ci
: arduino_ci (0.3.0)g++ -v
: gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)- Arduino IDE version: 1.8.12
java -version
: openjdk version "1.8.0_252"
Issue Summary
I'm testing a code that on arduino (physical board) mkr 1010 compiles with no issues, however with arduino-ci is failing with the following errors
Last command: $ g++ -std=c++0x -o <my_path>/cronparser/unittest_test.cpp.bin -DARDUINO=100 -g -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=address -D__SAMD21G18A__ -DARDUINO_SAMD_ZERO -I/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino -I/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest -I<my_path>/cronparser /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Arduino.cpp /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Godmode.cpp /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/stdlib.cpp /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/ArduinoUnitTests.cpp <my_path>r/cronparser/cronparser.cpp /<my_path>/cronparser/test/test.cpp
In file included from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/pgmspace.h:17:0,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/ArduinoDefines.h:3,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Godmode.h:2,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Arduino.cpp:1:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/io.h:623:6: warning: #warning "device type not defined" [-Wcpp]
# warning "device type not defined"
^~~~~~~
In file included from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/pgmspace.h:17:0,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/ArduinoDefines.h:3,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Godmode.h:2,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Godmode.cpp:1:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/io.h:623:6: warning: #warning "device type not defined" [-Wcpp]
# warning "device type not defined"
^~~~~~~
In file included from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/Godmode.cpp:3:0:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/SPI.h: In member function ‘uint16_t SPIClass::transfer16(uint16_t)’:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/SPI.h:97:11: error: ‘SPCR’ was not declared in this scope
if (!(SPCR & (1 << DORD))) {
^~~~
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/SPI.h:97:11: note: suggested alternative: ‘SPL’
if (!(SPCR & (1 << DORD))) {
^~~~
SPL
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/SPI.h:97:24: error: ‘DORD’ was not declared in this scope
if (!(SPCR & (1 << DORD))) {
^~~~
In file included from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/pgmspace.h:17:0,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/Compare.h:2,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/Assertion.h:7,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/ArduinoUnitTests.h:4,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/ArduinoUnitTests.cpp:1:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/io.h:623:6: warning: #warning "device type not defined" [-Wcpp]
# warning "device type not defined"
^~~~~~~
In file included from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/pgmspace.h:17:0,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/Compare.h:2,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/Assertion.h:7,
from /var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/unittest/ArduinoUnitTests.h:4,
from /mnt/Dati/Progetti/smart-water/cronparser/test/test.cpp:1:
/var/lib/gems/2.5.0/gems/arduino_ci-0.3.0/cpp/arduino/avr/io.h:623:6: warning: #warning "device type not defined" [-Wcpp]
# warning "device type not defined"
^~~~~~~
Works on the following platforms:
- uno
- due
- mega
Arduino or Unit Test Code, Illustrating the Problem
The issue seem to be related to the import of WString.h
. My code uses nothing strictly related to the SAMD processor, indeed here is the hole import list
#include <time.h>
#include <string.h>
#include <WString.h>
Working .arduino-ci.yaml
compile:
libraries: ~
platforms:
- uno
- due
- mega2560
- leonardo
# - zero
unittest:
libraries: ~
platforms:
- uno
- due
- mega2560
- leonardo
# - zero
broken .arduino-ci.yaml
compile:
libraries: ~
platforms:
- uno
- due
- mega2560
- leonardo
- zero
unittest:
libraries: ~
platforms:
- uno
- due
- mega2560
- leonardo
- zero
Arduino Architecture(s) Affected
zero, as far as i know.
Thanks!