Skip to content

missing definitions for zero #140

Closed
@FedeBev

Description

@FedeBev

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.4
  • bundle 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    arduino mocksCompilation mocks for the Arduino librarybugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions