Can't compile firmware

Post Reply
tmartin
Posts: 2
Joined: Sun May 27, 2018 9:14 pm

Can't compile firmware

Post by tmartin » Sun May 27, 2018 9:22 pm

I've just fitted the 3dtouch auto levelling sensor and I'm seeking to update the firmware. I've downloaded the indicated file: I3ProW.zip and pulled it into Arduino (v 1.8.5) and tried to build it. Unfortunately, it fails with the errors posted below. Can anyone identify what the problem is?

Thanks.

Tony

=========================================================================================

Arduino: 1.8.5 (Linux), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

java.io.IOException: The sketch already contains a file named "Marlin.ino"
at processing.app.Sketch.checkNewFilename(Sketch.java:273)
at processing.app.SketchFile.renameTo(SketchFile.java:179)
at processing.app.SketchController.save(SketchController.java:339)
at processing.app.Editor.handleSave2(Editor.java:2020)
at processing.app.Editor.handleSave(Editor.java:2000)
at processing.app.Editor.handleRun(Editor.java:1718)
at processing.app.Editor.handleRun(Editor.java:1713)
at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:345)
at java.awt.Component.processMouseEvent(Component.java:6536)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The sketch already contains a file named "Marlin.ino"










/usr/share/arduino/arduino-builder -dump-prefs -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/tony/.arduino15/packages -tools /usr/share/arduino/tools-builder -tools /home/tony/.arduino15/packages -libraries /home/tony/code/Arduino/libraries -fqbn=archlinux-arduino:avr:mega:cpu=atmega2560 -ide-version=10805 -build-path /tmp/arduino_build_297291 -warnings=default -build-cache /tmp/arduino_cache_967891 -prefs=build.warn_data_percentage=75 -verbose /tmp/arduino_modified_sketch_428498/Marlin.ino
/usr/share/arduino/arduino-builder -compile -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/tony/.arduino15/packages -tools /usr/share/arduino/tools-builder -tools /home/tony/.arduino15/packages -libraries /home/tony/code/Arduino/libraries -fqbn=archlinux-arduino:avr:mega:cpu=atmega2560 -ide-version=10805 -build-path /tmp/arduino_build_297291 -warnings=default -build-cache /tmp/arduino_cache_967891 -prefs=build.warn_data_percentage=75 -verbose /tmp/arduino_modified_sketch_428498/Marlin.ino
Using board 'mega' from platform in folder: /usr/share/arduino/hardware/archlinux-arduino/avr
Using core 'arduino' from platform in folder: /usr/share/arduino/hardware/archlinux-arduino/avr
Build options changed, rebuilding all
Detecting libraries used...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino" "-I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/mega" "/tmp/arduino_build_297291/sketch/Marlin.ino.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino" "-I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/mega" "-I/home/tony/code/Arduino/libraries/U8glib/src" "/tmp/arduino_build_297291/sketch/Marlin.ino.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -fno-devirtualize -fno-use-cxa-atexit -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10805 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/usr/share/arduino/hardware/archlinux-arduino/avr/cores/arduino" "-I/usr/share/arduino/hardware/archlinux-arduino/avr/variants/mega" "-I/home/tony/code/Arduino/libraries/U8glib/src" "/tmp/arduino_build_297291/sketch/Marlin.ino.cpp" -o "/tmp/arduino_build_297291/preproc/ctags_target_for_gcc_minus_e.cpp"
/tmp/arduino_modified_sketch_428498/Marlin.ino:48:14: fatal error: LiquidCrystal.h: No such file or directory
#include <LiquidCrystal.h> // library for character LCD
^~~~~~~~~~~~~~~~~
compilation terminated.
Using library U8glib at version 1.19.1 in folder: /home/tony/code/Arduino/libraries/U8glib
exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.

User avatar
_kaktus_
Site Admin
Posts: 1260
Joined: Fri Dec 15, 2017 10:06 pm
Location: PL
Contact:

Re: Can't compile firmware

Post by _kaktus_ » Mon May 28, 2018 9:39 pm


tmartin
Posts: 2
Joined: Sun May 27, 2018 9:14 pm

Re: Can't compile firmware

Post by tmartin » Wed May 30, 2018 5:02 pm

For any other noobs who find difficulty with the firmware package, as downloaded.

The first raft of errors from Arduino IDE occurred because I was working on the downloaded marlin.ino (on linux). By pulling it in as a template and saving it as marlin2.ino I was able to save changes.

To overcome the problem with LiquidCrystal.h I installed the libraries LiquidCrystal and U8glib from the Arduino IDE library manager. This overcame the error listed in the second part of the included error diagnostic.

The compile failed at this stage due to the presence of a definition of 'fpos_t' in SdBaseFile.h (and SdBaseFile.cpp) which clashed with a similar definition in stdio.h. I renamed the SdBaseFile definition to 'fpos_t_sd' and all compiled well.

Now that the firmware is flashed, I must troubleshoot the strange behaviour...

Post Reply