Skip to content

1.0.14 introduces compile errors on SAMD boards (like the Sparkfun SAMD Pro RF) #31

@kdyke

Description

@kdyke

It looks like starting with the 1.0.14 version of this library, I hit compile errors trying to build things for the SAMD Pro RF board:

Even the simplest example sketch fails to build:

`In file included from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_oled_1in3.h:51:0,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/SparkFun_Qwiic_OLED.h:53,
from /private/var/folders/nx/z9rhzzyx7759w1pr4zx53tnr0002hf/T/.arduinoIDE-unsaved2026011-16008-fp3rw2.lp3t/Example-01_Hello/Example-01_Hello.ino:24:
/Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grssd1306.h:109:0: warning: "kMaxPageNumber" redefined [enabled by default]
#define kMaxPageNumber 8
^
In file included from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_oled_1in5.h:45:0,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/SparkFun_Qwiic_OLED.h:52,
from /private/var/folders/nx/z9rhzzyx7759w1pr4zx53tnr0002hf/T/.arduinoIDE-unsaved2026011-16008-fp3rw2.lp3t/Example-01_Hello/Example-01_Hello.ino:24:
/Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grch1120.h:45:0: note: this is the location of the previous definition
#define kMaxPageNumber 20
^
In file included from /Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_tree.h:61:0,
from /Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/map:60,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grch1120.cpp:51:
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:239:56: error: macro "min" passed 3 arguments, but takes just 2
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:260:56: error: macro "max" passed 3 arguments, but takes just 2
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
In file included from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_i2c.h:56:0,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grch1120.h:41,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grch1120.cpp:50:
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:193:5: error: expected unqualified-id before 'const'
min(const _Tp& __a, const _Tp& __b)
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:193:5: error: expected ')' before 'const'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:193:5: error: expected ')' before 'const'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:193:5: error: expected initializer before 'const'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:216:5: error: expected unqualified-id before 'const'
max(const _Tp& __a, const _Tp& __b)
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:216:5: error: expected ')' before 'const'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:216:5: error: expected ')' before 'const'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:216:5: error: expected initializer before 'const'
In file included from /Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_tree.h:61:0,
from /Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/map:60,
from /Users/kdyke/Documents/Arduino/libraries/SparkFun_Qwiic_OLED_Arduino_Library/src/qwiic_grch1120.cpp:51:
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:239:5: error: 'std::min' declared as an 'inline' variable
min(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:239:5: error: template declaration of 'const _Tp& std::min'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:242:7: error: expected primary-expression before 'if'
if (__comp(__b, __a))
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:242:7: error: expected '}' before 'if'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:244:7: error: expected unqualified-id before 'return'
return __a;
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:260:5: error: 'max' declared as an 'inline' variable
max(const _Tp& __a, const _Tp& __b, _Compare __comp)
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:260:5: error: template declaration of 'const _Tp& max'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:263:7: error: expected primary-expression before 'if'
if (__comp(__a, __b))
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:263:7: error: expected '}' before 'if'
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:265:7: error: expected unqualified-id before 'return'
return __a;
^
/Users/kdyke/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/include/c++/4.8.3/bits/stl_algobase.h:266:5: error: expected declaration before '}' token
}
^
exit status 1

Compilation error: exit status 1`

This works fine with 1.0.13. I’ll be honest that I have not tried to figure out what actually broke, I just needed this to work again for my project so rolled back to this version for now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions