Skip to content

Compilation error: conditional #include inside #if #4512

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
e-moe opened this issue Feb 1, 2016 · 29 comments
Closed

Compilation error: conditional #include inside #if #4512

e-moe opened this issue Feb 1, 2016 · 29 comments
Milestone

Comments

@e-moe
Copy link

e-moe commented Feb 1, 2016

Hi guys, I'm trying to implement one class for two different MCU types using conditional #include.
Is there any way to avoid error and specific files compilation (e.g. compile only a.cpp or b.cpp but not both of them)?

Arduino 1.6.7. Mac OS X El Capitan.

sketch/b.cpp.o: In function `I::test()':
sketch/b.cpp:3: multiple definition of `I::test()'
sketch/a.cpp.o:sketch/a.cpp:3: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling.

sketch:

#if defined(__AVR_ATtiny85__)
  #include "a.h"
#else
  #include "b.h"
#endif

void setup() {
  I i = I();
  i.test();
}

void loop() {
}

a.h:

class I
{
  public:
  void test();
};

a.cpp

#include "a.h"

void I::test() {
  return; // specific code for MCU A
}

b.h:

class I
{
  public:
  void test();
};

b.cpp

#include "b.h"

void I::test() {
  return; // specific code for MCU B
}
@matthijskooijman
Copy link
Collaborator

Could you try the hourly build (from the downloads section on arduino.cc)? I believe that this issue might have been fixed in git recently.

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

just checked with hourly build (2 February 2016 10:15:23 GMT) - same results:

sketch/b.cpp.o: In function `I::test()':
sketch/b.cpp:3: multiple definition of `I::test()'
sketch/a.cpp.o:sketch/a.cpp:3: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling.

@matthijskooijman
Copy link
Collaborator

Ah, now I looked more closely at your example and indeed, this is not expected to work. The problem is that both .cpp files are compiled, regardless of whether the corresponding .h file is included. Arduino or the compiler has no way to match .h files with .cpp files, so all .cpp files in a sketch are always compiled. There is currently no way to specify what files to (not) compile. I can see ways around this:

  • Put the contents of a.cpp and b.cpp in a big #ifdef block. This block should depend on some macro, but since each .cpp file is compiled on its own, the .ino file does not influence them at all. Adding a custom -D option to the compiler to predefine a macro is alsno not supported, so both .cpp files should #include some .h file which you use to decide between the two.
  • Put a.cpp and b.cpp (and the corresponding .h files) each in a separate library. The Arduino IDE does support detecting library dependencies and only includes only the library that you include in the build (and, with the latest hourly builds, this also works properly for #include inside #if).

Since this isn't so much a bug in the IDE, as well as a mismatch in your expectations (and because it won't be easy to change the IDE to meet your expectations in a reliable way), I'll go ahead and close this issue. Feel free to leave more comments if you have questions, though, or if you think there is something the IDE should change.

@lmihalkovic
Copy link

It might not be far-fetched or difficult to add support for arch specific code in the IDE in a manner similar to what was done in the boards packaging: the IDE could with minimum effort support arch specific folders insde the a sketch's root folder and ensure that the contents only gets compiled when the matching hardware is targetted. Possibly something Arduino Create will support?!

@mikaelpatel
Copy link

@e-moe
Why is there not a processor check in the cpp files? In any case I would structure this as 1) a single header file with processor dependent sections if needed (private or at least protected) to maintain the same interface, 2) single source file with processor dependent sections.

@cmaglie
Copy link
Member

cmaglie commented Feb 2, 2016

Possibly something Arduino Create will support?!

The build process is (and will remain) the same for the Java IDE and for Create.

It might not be far-fetched or difficult to add support for arch specific code in the IDE in a manner similar to what was done in the boards packaging

We tried to add support for the arch folder in the past exactly for that, while transitioning from IDE 1.0 to 1.5, but this change has been received very badly by the community, The opposition has been so strong that we were forced to step back and remove it.

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@mikaelpatel , @matthijskooijman I tried to show minimal example of code to demonstrate errors. Actually I'm trying to fix build errors in https://github.com/digistump/DigistumpArduino/blob/master/digistump-avr/libraries/DigisparkLCD/LiquidCrystal_I2C.cpp:

#if defined(__AVR_ATtiny85__) || (__AVR_ATtiny2313__) || (__AVR_ATtiny167__)
#include "TinyWireM.h"      // include this if ATtiny85 or ATtiny2313
#else 
#include <Wire.h>           // original lib include
#endif

...

#if defined (__AVR_ATtiny85__) || (__AVR_ATtiny2313__) || (__AVR_ATtiny167__)
    TinyWireM.begin();             // initialize I2C lib
#else   // original call
    Wire.begin();
#endif

...

both of these libraries (Wire and TinyWireM) trying to declare same things twice (e.g. USI_TWI) :(

@lmihalkovic
Copy link

@cmaglie thank you for sharing that part of the history of the platform. If I may ask, I found some past entries referencing the possibility of adding support for Makefile based builds in the IDE. From what I could gather, the discussions seemed centered around libraries. Has there been any similar discussions regarding support Makefile for sketches?! As I shared previously, I found that once the console stream machinery was straightened up, it was straightforward to address the 'floating' compiler messages - they follow the active editor - and even simpler to support Makefiles - basically remove most of the code from Compiler.java (I decided to expose a preference, but it is not required). In light of this apparent ease, I was wondering if there was not another deeper reason for not support Makefile.

@lmihalkovic
Copy link

@e-moe If I may share: when dealing with multi-environment code, I tend to favor a solution where inside the .h (public api) switching is done using the publicly available #define, but then turn them into something specific to the library for the conditionals inside the .cpp. This stems from the desire to try to minimize the work of adapting the code to changes in the environment (say when you switch compilers for e.g.) by avoiding having the copy the same, IMHO, longish #if defined (__AVR_ATtiny85__) || (__AVR_ATtiny2313__) || (__AVR_ATtiny167__)
Additionally when I do a search/grep, I can target directly the library's internal #defines, knowing that the results will only point to the library's code. There is really no rational other than to try to save myself work in the future.

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@lmihalkovic , yes. but I can't change any of these libraries (Wire or TinyWireM). They are already in use in many different projects and sketches. And because both of them declaring the same thing (e.g USI_TWI) I should make changes only in client libraries (in my case LiquidCrystal_I2C) where this variable is used. In this case I ought to import conditionally one of the dependent libs.

@matthijskooijman
Copy link
Collaborator

@e-moe, if I understand correctly, the original problem you had with the Wire and TinyWireM libraries selects between two libraries, while your reduced example selects between files in your sketch, making them significantly different. Did you try your original problem with the hourly build?

IIUC the code you pasted is from the .cpp file in the library you linked. However, what does the .ino sketch look like? If you're using the example from that library, you might be including TinyWireM.h from the .ino file unconditionally? If not, can you perhaps provide the full sketch and the full errors?

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@matthijskooijman, yep, I tried hourly build on my original problem - same results. Code samples are slightly different but they shares the same idea. Compare my reduced example:

#if defined(__AVR_ATtiny85__)
  #include "a.h"
#else
  #include "b.h"
#endif

with my original issue:

#if defined(__AVR_ATtiny85__) || (__AVR_ATtiny2313__) || (__AVR_ATtiny167__)
#include "TinyWireM.h"      // include this if ATtiny85 or ATtiny2313
#else 
#include <Wire.h>           // original lib include
#endif

@matthijskooijman
Copy link
Collaborator

@e-moe, yeah but the primary difference between your example and the real case is that a.cpp and b.cpp are in the sketch? Or did you create two test libraries for them?

Did you see if your .ino file perhaps unconditionally includes either library?

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@matthijskooijman, you right - my files was in sketch. they are not separate libs. But I also tried to compile my original issue with Wire and TinyWireM libraries with the same error message.

@matthijskooijman
Copy link
Collaborator

@e-moe, okay. But in your original issue with the two libraries, did you have an #include in the .ino file?

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@matthijskooijman , this is my ino file:

#include <TinyWireM.h>                  // I2C Master lib for ATTinys which use USI - comment this out to use with standard arduinos
#include <LiquidCrystal_I2C.h>          // for LCD w/ GPIO MODIFIED for the ATtiny85

#define GPIO_ADDR     0x27             // (PCA8574A A0-A2 @5V) typ. A0-A3 Gnd 0x20 / 0x38 for A - 0x27 is the address of the Digispark LCD modules.


LiquidCrystal_I2C lcd(GPIO_ADDR,16,2);  // set address & 16 chars / 2 lines


void setup(){
  TinyWireM.begin();                    // initialize I2C lib - comment this out to use with standard arduinos
  lcd.init();                           // initialize the lcd 
  lcd.backlight();                      // Print a message to the LCD.
  lcd.print("Digispark!");
}


void loop(){

}

@matthijskooijman
Copy link
Collaborator

And this is your problem:

#include <TinyWireM.h>                  // I2C Master lib for ATTinys which use USI - comment this out to use with standard arduinos

Your .ino file always includes TinyWireM, even when not compiling for ATtiny, which causes the TinyWireM to be included and conflict with the Wire library included by LiquidCrystal_I2c.h.

You'll have to apply the same trick from the liquid crystal library here, or perhaps just remove the include altogether (since, I think, Arduino 1.6.6 it is no longer necessary for the .ino file to include all libraries needed, they are also detected if a library includes another library).

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

but my .ino is compiles for attiny and I need to use TinyWireM.begin();. Is it possible to omit #include directives in this case?

@matthijskooijman
Copy link
Collaborator

@e-moe, I'm assuming this error occurs when you have a non-tiny board selected in the IDE. Or does this also occur when compiling for an attiny board? Perhaps it is one that is not listed in the #if defined(__AVR_ATtiny85__) || (__AVR_ATtiny2313__) || (__AVR_ATtiny167__) line?

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

board is selected correctly. moreover I tried to explicitly set #define __AVR_ATtiny85__ in my .ino. same error. only when I manually comment out #include <Wire.h> inside library build is succeeded and sketch working correctly on board.

@matthijskooijman
Copy link
Collaborator

board is selected correctly.

Please try to be explicit. What is "correctly"? I originally thought your problem was that your sketch did not compile both for ATmega and ATtiny boards, but now I believe your problem might be that the ATtiny build isn't working?

moreover I tried to explicitly set #define AVR_ATtiny85 in my .ino.

That won't help: The library's .cpp file is compiled separately from the .ino file and does not include the .ino file, so nothing you do in the .ino file will affect the compilation of the .cpp file (though it might cause duplicate definitions in the linker stage after compilation). In particular, any #defines in a .ino file (or .cpp file for that matter) are not visible in another .cpp file.

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

@matthijskooijman
Copy link
Collaborator

Ok, so that should define __AVR_ATtiny85__ I suppose, but it looks like it does not. I do wonder if this is something for the digispark folks to solve, but I'll have another stab at it. Could you run with verbose compilation enabled (in the Arduino IDE preferences) and then past the full build output here?

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

/Users/e-moe/Downloads/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware" -hardware "/Users/e-moe/Library/Arduino15/packages" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr" -tools "/Users/e-moe/Library/Arduino15/packages" -built-in-libraries "/Users/e-moe/Downloads/Arduino.app/Contents/Java/libraries" -libraries "/Users/e-moe/Documents/Arduino/libraries" -fqbn=digistump:avr:digispark-tiny -ide-version=10608 -build-path "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino"
/Users/e-moe/Downloads/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware" -hardware "/Users/e-moe/Library/Arduino15/packages" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr" -tools "/Users/e-moe/Library/Arduino15/packages" -built-in-libraries "/Users/e-moe/Downloads/Arduino.app/Contents/Java/libraries" -libraries "/Users/e-moe/Documents/Arduino/libraries" -fqbn=digistump:avr:digispark-tiny -ide-version=10608 -build-path "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino"
WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
Warning: platform.txt from core 'Digistump AVR Boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.
Warning: platform.txt from core 'Digistump AVR Boards' contains deprecated recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm, automatically converted to recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{archive_file_path}" "-L{build.path}" -lm. Consider upgrading this core.
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino6/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=attiny85 -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR  "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp.o"
In file included from /Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:7:0,
                 from /Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino:18:
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.h:47:7: error: redefinition of 'class USI_TWI'
 class USI_TWI
       ^
In file included from /Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino:17:0:
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.h:47:7: error: previous definition of 'class USI_TWI'
 class USI_TWI
       ^
Multiple libraries were found for "LiquidCrystal_I2C.h"
 Used: /Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C
 Not used: /Users/e-moe/Documents/Arduino/libraries/arduino_476479
 Not used: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD
Using library TinyWireM at version 1.0.0 in folder: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM 
Using library LiquidCrystal_I2C at version 1.1 in folder: /Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C 
Using library Wire in folder: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire (legacy)
exit status 1
Error compiling.
Invalid library found in /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Digispark_Examples: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Digispark_Examples

@matthijskooijman
Copy link
Collaborator

Ah, I think I see what's happening:

Multiple libraries were found for "LiquidCrystal_I2C.h"
 Used: /Users/e-moe/Documents/Arduino/libraries/LiquidCrystal_I2C
 Not used: /Users/e-moe/Documents/Arduino/libraries/arduino_476479
 Not used: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD

You're not actually using the LiquidCrystal_I2C library you think you're using, but a separately installed one. I think the only way to fix that is to remove the other libraries from your libraries directory, though.

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

sorry, one more output (removed unexpected libraries in home folder):


/Users/e-moe/Downloads/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware" -hardware "/Users/e-moe/Library/Arduino15/packages" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr" -tools "/Users/e-moe/Library/Arduino15/packages" -built-in-libraries "/Users/e-moe/Downloads/Arduino.app/Contents/Java/libraries" -libraries "/Users/e-moe/Documents/Arduino/libraries" -fqbn=digistump:avr:digispark-tiny -ide-version=10608 -build-path "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino"
/Users/e-moe/Downloads/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware" -hardware "/Users/e-moe/Library/Arduino15/packages" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder" -tools "/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr" -tools "/Users/e-moe/Library/Arduino15/packages" -built-in-libraries "/Users/e-moe/Downloads/Arduino.app/Contents/Java/libraries" -libraries "/Users/e-moe/Documents/Arduino/libraries" -fqbn=digistump:avr:digispark-tiny -ide-version=10608 -build-path "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp" -warnings=all -prefs=build.warn_data_percentage=75 -verbose "/Users/e-moe/Documents/Arduino/BasicUsage/BasicUsage.ino"
WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
Warning: platform.txt from core 'Digistump AVR Boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.
Warning: platform.txt from core 'Digistump AVR Boards' contains deprecated recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm, automatically converted to recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{archive_file_path}" "-L{build.path}" -lm. Consider upgrading this core.
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD/LiquidCrystal_I2C.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/dev/null"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++"  -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR         "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino6/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=attiny85 -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR  "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp.o"
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=attiny85 -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR  "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD/LiquidCrystal_I2C.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/DigisparkLCD/LiquidCrystal_I2C.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=attiny85 -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR  "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=attiny85 -DF_CPU=16500000L -DARDUINO=10608 -DARDUINO_AVR_DIGISPARK -DARDUINO_ARCH_AVR  "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/cores/tiny" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/variants/digispark" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD" "-I/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire" "/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp" -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o"
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/pins_arduino.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WInterrupts.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/pins_arduino.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_analog.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_digital.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_pulse.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_shift.c.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/HardwareSerial.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/Print.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial115200.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial38400.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial9600.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerialErrors.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/Tone.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WMath.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WString.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/main.cpp.o
Using previously compiled file: /var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/new.cpp.o
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WInterrupts.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/pins_arduino.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_analog.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_digital.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_pulse.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/wiring_shift.c.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/HardwareSerial.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/Print.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial115200.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial38400.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerial9600.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/TinyDebugSerialErrors.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/Tone.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WMath.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/WString.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/main.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/new.cpp.o"
"/Users/e-moe/Downloads/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -Os -Wl,--gc-sections -mmcu=attiny85 -o "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/BasicUsage.ino.elf" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/sketch/BasicUsage.ino.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/DigisparkLCD/LiquidCrystal_I2C.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/pins_arduino.c.o" "/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/core/core.a" "-L/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp" -lm
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Master_Initialise()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Get_State_Info()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_state'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Master_Transfer(unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Master_Start()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Start_Transceiver_With_Data(unsigned char*, unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Start_Random_Read(unsigned char*, unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Start_Read_Write(unsigned char*, unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/USI_TWI_Master.cpp.o: In function `USI_TWI_Master_Initialise()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/USI_TWI_Master.cpp:48: multiple definition of `USI_TWI_Master_Stop()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/USI_TWI_Master.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/USI_TWI_Master.cpp:48: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_TWI()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_TWI()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::begin()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::beginTransmission(unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_BufIdx'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_Buf'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::write(unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::endTransmission(unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::endTransmission()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::requestFrom(unsigned char, unsigned char)'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_LastRead'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::USI_BytesAvail'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::read()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/Wire/Wire.cpp.o: In function `USI_TWI::USI_TWI()':
/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire/Wire.cpp:35: multiple definition of `USI_TWI::available()'
/var/folders/wb/s9v7yzln0hnbxk59jxxvtmh80000gn/T/build801b3f612f03aa981995f14bf66be666.tmp/libraries/TinyWireM/TinyWireM.cpp.o:/Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM/TinyWireM.cpp:35: first defined here
collect2: error: ld returned 1 exit status
Using library TinyWireM at version 1.0.0 in folder: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/TinyWireM 
Using library DigisparkLCD in folder: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/DigisparkLCD (legacy)
Using library Wire in folder: /Users/e-moe/Library/Arduino15/packages/digistump/hardware/avr/1.6.5/libraries/Wire (legacy)
exit status 1
Error compiling.

@matthijskooijman
Copy link
Collaborator

Ah, so now the error message changed and there is a different problem. And now I do think you've found an actual bug, though it is a problem in arduino-builder, not the Arduino IDE. So, I've opened up a new bug report here: arduino/arduino-builder#106

We'll have to double-check that my deducation is correct, but I think we have enough info to reproduce and fix this now. If there is anything else we need from you, I'll let you know. Thanks for keeping the replies coming :-)

@e-moe
Copy link
Author

e-moe commented Feb 2, 2016

welcome :) thanks to you too for helping me and your effort with finding actual bug!

@cmaglie
Copy link
Member

cmaglie commented Feb 5, 2016

@lmihalkovic

I was wondering if there was not another deeper reason for not support Makefile.

no, there is no deeper reason (though we can still discuss the usefulness of such feature, but this will go offtopic here, maybe we can continue on the specific issue).

About the arch folder for libraries, there was a painful process that involved discussions with hundred of emails to reach a shared agreement, so I felt the need to warn you before you going into that path, that's it!

@agdl agdl added this to the Release 1.6.8 milestone Feb 18, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants