Skip to content

Adafruit_ILI0341 and Adafruit_SPIFlash compatibility issue  #83

Description

@anttike

Adafruit_ILI0341 and Adafruit_SPIFlash libraries seem to have some incompatibility issue for the board Adafruit nrf52840 express when compiling with Arduino IDE on mac.

Code to reproduce the problem (using most recent versions of both libraries):

#include <Adafruit_ILI9341.h>
#include <Adafruit_SPIFlash.h>

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

Error msgs:

/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:17: multiple definition of Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:17: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:17: multiple definition of Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:17: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:43: multiple definition of Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:43: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:43: multiple definition of Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:43: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::~Adafruit_SPIDevice()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:78: multiple definition of Adafruit_SPIDevice::~Adafruit_SPIDevice()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:78: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::~Adafruit_SPIDevice()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:78: multiple definition of Adafruit_SPIDevice::~Adafruit_SPIDevice()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:78: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::begin()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:85: multiple definition of Adafruit_SPIDevice::begin()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:85: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::transfer(unsigned char*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:123: multiple definition of Adafruit_SPIDevice::transfer(unsigned char*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:123: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::transfer(unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:260: multiple definition of Adafruit_SPIDevice::transfer(unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:260: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::beginTransaction()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:271: multiple definition of Adafruit_SPIDevice::beginTransaction()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:271: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::endTransaction()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:280: multiple definition of Adafruit_SPIDevice::endTransaction()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:280: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::setChipSelect(int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:290: multiple definition of Adafruit_SPIDevice::setChipSelect(int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:290: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::beginTransactionWithAssertingCS()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:301: multiple definition of Adafruit_SPIDevice::beginTransactionWithAssertingCS()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:301: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::endTransactionWithDeassertingCS()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:310: multiple definition of Adafruit_SPIDevice::endTransactionWithDeassertingCS()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:310: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write(unsigned char const*, unsigned int, unsigned char const*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:328: multiple definition of Adafruit_SPIDevice::write(unsigned char const*, unsigned int, unsigned char const*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:328: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::read(unsigned char*, unsigned int, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:385: multiple definition of Adafruit_SPIDevice::read(unsigned char*, unsigned int, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:385: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write_then_read(unsigned char const*, unsigned int, unsigned char*, unsigned int, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:423: multiple definition of Adafruit_SPIDevice::write_then_read(unsigned char const*, unsigned int, unsigned char*, unsigned int, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:423: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write_and_read(unsigned char*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:485: multiple definition of Adafruit_SPIDevice::write_and_read(unsigned char*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:485: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Adafruit Feather nRF52840 Express.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions