Conflict between Zumo-32U4 and Zumo-arduino libraries in Debian

I have installed libraries for the Zumo-arduino and Zumo-32U4 on Windows 10 and Debian(Linux) operating systems with the Arduino IDE. Switching between the Arduino Uno and Pololu-32U4 processors compiles fine in Windows for each Zumo robot; but an error message prevents the sample example code to build with the Debian environment for the Zumo-arduino. When either, not both, Zumo libraries are installed per directions provided in the “readme” text; The compiler works without error. The error is only present when both Zumo-arduino and Zumo-32U4 libraries are installed in Arduino IDE “libraries”.

I have avoided the error by moving the Zumo-32U4 libraries to another location(folder); the easiest to move; when programming the Zumo-arduino in the Debian environment.

Is there a more convenient solution?

P.S. Both Zumo robots are a blast to use/program and provide hours of satisfaction/entertainment. The Debian and Windows environment provide more flexibility.

Regards,
Al

Hello, Al.

I moved your post to a new thread and gave it a more appropriate name since it is about a different issue.

To narrow down the issue, can you pick one of the example programs to compile and post a copy of the entire build output from the Arduino IDE, including any warnings and errors, here? Also, can you post a screenshot (or a list) of the “libraries” directory containing both the Zumo32U4 library and the Pololu Zumo Shield libraries?

- Amanda

Amanda,

Thank you for your attention to my post. I am new to this form of communication. I am presently out of town and am unable to comply with your request.

I am anxious to properly respond to your request as soon as I return home.

Al

I have made several unsuccessful attempts to capture screenshot with the necessary clarity.

However the following describes my Arduino 1.0.1 IDE directory structure; please recall this is from the Debian operating system :
The compiler tool configuration is –
Tools —> Board —> Arduino Uno
|-> Programmer —> Arduino as ISP (although others were tried simulating Windows 10 configuration)
|-> Serial Port --> /dev/tty/USB0

There is access to two library directories; one from the user directory and another in the IDE installed root directory. I have copied Zumo-Arduino and Zumo32U4 library files in each location; as both in the same location or one in the user library folder and the other in the IDE library folder. The following is the latest assignment :
Sketch —> Import Library —> Wire
|-> Zumo32U4
|-> Zumo-Arduino (not present during the attached error code)

My programming environment is structured as a list of folders containing subfolders of *.ino files accessible from the File menu as follows :
File —> Sketchbook —> Zumo-Arduino —> PushbuttonExample

Now when I compile the source code loaded into the IDE work area, this is the message reported (modified for clarity) :

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p
 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101
 -I/usr/share/arduino/hardware/arduino/cores/arduino
 -I/usr/share/arduino/hardware/arduino/variants/standard
 -I/usr/share/arduino/libraries/Zumo32U4
 /tmp/build7501834051822217574.tmp/PushbuttonExample.cpp
 -o /tmp/build7501834051822217574.tmp/PushbuttonExample.cpp.o

avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p
 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101
 -I/usr/share/arduino/hardware/arduino/cores/arduino
 -I/usr/share/arduino/hardware/arduino/variants/standard
 -I/usr/share/arduino/libraries/Zumo32U4
 -I/usr/share/arduino/libraries/Zumo32U4/utility
 /usr/share/arduino/libraries/Zumo32U4/L3G.cpp
 -o /tmp/build7501834051822217574.tmp/Zumo32U4/L3G.cpp.o

/usr/share/arduino/libraries/Zumo32U4/L3G.cpp:2:18: fatal error: Wire.h: No such file or directory

compilation terminated.

The head scratcher is why the compiler is including Zumo32U4 files and then creating the L3G.cpp.o object file ?

As stated in my last message the Arduino IDE compiles the *.ino program file successfully when the Zumo-Arduino or Zumo32U4; not both; library in installed in the Arduino IDE libraries directory or the user libraries directory.

Also the example file (PushbuttonExample.ino) only has an #include <Pushbutton.h> statement.

I hope you can shed some light on the solution to this finding.

Best Regards,
Al

From the error output, it looks like the Arduino IDE attempted to find the “PushButton.h” in the Zumo32U4 library (which also has a “PushButton.h” file) instead of the zumo-shield library. In earlier versions of the IDE, when two libraries have the same header file, the IDE did not know which library to use. This was fixed in the release of Arduino 1.5.7 BETA version (see release notes for “ARDUINO 1.5.7 BETA - 2014.07.07”). Judging from your Arduino IDE’s version (1.0.1), it is possible that the IDE might be causing the issue. Can you try installing the latest version of the Arduino IDE on your system to see if that fixes the issue? If not, can you post the entire compilation output that you get from the newer version of the Arduino IDE here?

By the way, it is better to keep standard Arduino libraries and examples separate from third party libraries and examples (e.g. Zumo32U4). You should probably remove all the Zumo libraries under your root Arduino IDE installation directory and keep all the Zumo libraries under your Arduino sketchbook directory. You can find your sketchbook location by selecting File->Preferences of the IDE.

- Amanda

Amanda,

My late responses are a direct result of attempts to resolve the Arduino IDE compiler errors. I have failed to build Arduino IDE 1.6.1 from the Arduino website in the Debian environment. I keep getting the 1.0.1 version showing in the sketch border and the same errors. Since the same sketches work fine in the Windows environment; I know the error is not related to the sketches themselves. Also I find the changes to the library location for third party libraries is a nice / positive organization technique; I have had little success in the Linux environment with technique. I have changed the Linux environment from Debian to Ubuntu to resolve the Arduino error conditions without positive results. So far the Linux environment refuses to allow the Arduino IDE version 1.6.1 to exist for development of sketches; which seems to have an effect on complex builds similar to Zumo-Arduino and Zumo32U4. I must stand down from the level of effort to resolve this interest occasionally; to avoid serious hardware damage from frustration.