arduino / Arduino

Arduino IDE 1.x
https://www.arduino.cc/en/software
Other
14.11k stars 7k forks source link

Command line upload port option does not support symlinks #6776

Open VictorLamoine opened 6 years ago

VictorLamoine commented 6 years ago

Arduino is plugged in on the RPi:

$ ls -l /dev/serial/by-id/usb-Arduino*
lrwxrwxrwx 1 root root 13 sept. 30 23:51 /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00 -> ../../ttyACM1

Compiling/upload with port = /dev/ttyACM1 works:

arduino sketch.ino --port /dev/ttyACM1 
Picked up JAVA_TOOL_OPTIONS: 
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
Archiving built core (caching) in: /tmp/arduino_cache_94254/core/core_arduino_avr_micro_80d002210ad4f4c4b138a75ac18d4048.a
Sketch uses 6202 bytes (21%) of program storage space. Maximum is 28672 bytes.
Global variables use 396 bytes (15%) of dynamic memory, leaving 2164 bytes for local variables. Maximum is 2560 bytes.
Uploading...
$

But with port = /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00 it fails:

$ arduino sketch.ino --port /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00 
Picked up JAVA_TOOL_OPTIONS: 
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
Archiving built core (caching) in: /tmp/arduino_cache_377862/core/core_arduino_avr_micro_80d002210ad4f4c4b138a75ac18d4048.a
Sketch uses 6202 bytes (21%) of program storage space. Maximum is 28672 bytes.
Global variables use 396 bytes (15%) of dynamic memory, leaving 2164 bytes for local variables. Maximum is 2560 bytes.
Uploading...
An error occurred while uploading the sketch
$

Seems to me that the problem is the port being a symbolic link.

Alternative

arduino sketch.ino --port $(readlink -f /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00)
matthijskooijman commented 6 years ago

Or is the problem that the symlink's name is not a known serial port name? What happens if you name the symlink /dev/ttyACM3 or something like that?

Also, it's a bit problematic that no meaningful error message is shown, that needs some looking at by itself too.

facchinm commented 6 years ago

Hi @VictorLamoine, I believe that the problem is originated by avrdude ; launching the command with --verbose should give more meaningful results that we can use to debug the issue. Thanks!

VictorLamoine commented 6 years ago

Here is another run using the /serial/by-id/ in verbose mode:

$ arduino sketch.ino --port /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00 --verbose
Picked up JAVA_TOOL_OPTIONS: 
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
/opt/arduino-1.8.4/arduino-builder -dump-prefs -logger=machine -hardware /opt/arduino-1.8.4/hardware -hardware /home/victor/.arduino15/packages -tools /opt/arduino-1.8.4/tools-builder -tools /opt/arduino-1.8.4/hardware/tools/avr -tools /home/victor/.arduino15/packages -built-in-libraries /opt/arduino-1.8.4/libraries -libraries /home/victor/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10804 -build-path /tmp/arduino_build_31488 -warnings=none -build-cache /tmp/arduino_cache_153838 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/opt/arduino-1.8.4/hardware/tools/avr -verbose /home/victor/sketch/sketch.ino
/opt/arduino-1.8.4/arduino-builder -compile -logger=machine -hardware /opt/arduino-1.8.4/hardware -hardware /home/victor/.arduino15/packages -tools /opt/arduino-1.8.4/tools-builder -tools /opt/arduino-1.8.4/hardware/tools/avr -tools /home/victor/.arduino15/packages -built-in-libraries /opt/arduino-1.8.4/libraries -libraries /home/victor/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10804 -build-path /tmp/arduino_build_31488 -warnings=none -build-cache /tmp/arduino_cache_153838 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/opt/arduino-1.8.4/hardware/tools/avr -verbose /home/victor/sketch/sketch.ino
Using board 'micro' from platform in folder: /opt/arduino-1.8.4/hardware/arduino/avr
Using core 'arduino' from platform in folder: /opt/arduino-1.8.4/hardware/arduino/avr
Detecting libraries used...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_31488/sketch/sketch.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_31488/sketch/sketch.ino.cpp" -o "/tmp/arduino_build_31488/preproc/ctags_target_for_gcc_minus_e.cpp"
"/opt/arduino-1.8.4/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/tmp/arduino_build_31488/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_31488/sketch/sketch.ino.cpp" -o "/tmp/arduino_build_31488/sketch/sketch.ino.cpp.o"
Compiling libraries...
Compiling core...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_pulse.S" -o "/tmp/arduino_build_31488/core/wiring_pulse.S.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WInterrupts.c" -o "/tmp/arduino_build_31488/core/WInterrupts.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/hooks.c" -o "/tmp/arduino_build_31488/core/hooks.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring.c" -o "/tmp/arduino_build_31488/core/wiring.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_analog.c" -o "/tmp/arduino_build_31488/core/wiring_analog.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_digital.c" -o "/tmp/arduino_build_31488/core/wiring_digital.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_pulse.c" -o "/tmp/arduino_build_31488/core/wiring_pulse.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_shift.c" -o "/tmp/arduino_build_31488/core/wiring_shift.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/CDC.cpp" -o "/tmp/arduino_build_31488/core/CDC.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp" -o "/tmp/arduino_build_31488/core/HardwareSerial.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp" -o "/tmp/arduino_build_31488/core/HardwareSerial0.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial1.cpp" -o "/tmp/arduino_build_31488/core/HardwareSerial1.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial2.cpp" -o "/tmp/arduino_build_31488/core/HardwareSerial2.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial3.cpp" -o "/tmp/arduino_build_31488/core/HardwareSerial3.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/IPAddress.cpp" -o "/tmp/arduino_build_31488/core/IPAddress.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/PluggableUSB.cpp" -o "/tmp/arduino_build_31488/core/PluggableUSB.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Print.cpp" -o "/tmp/arduino_build_31488/core/Print.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Stream.cpp" -o "/tmp/arduino_build_31488/core/Stream.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Tone.cpp" -o "/tmp/arduino_build_31488/core/Tone.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/USBCore.cpp" -o "/tmp/arduino_build_31488/core/USBCore.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WMath.cpp" -o "/tmp/arduino_build_31488/core/WMath.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WString.cpp" -o "/tmp/arduino_build_31488/core/WString.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/abi.cpp" -o "/tmp/arduino_build_31488/core/abi.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/main.cpp" -o "/tmp/arduino_build_31488/core/main.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/new.cpp" -o "/tmp/arduino_build_31488/core/new.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring_pulse.S.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/WInterrupts.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/hooks.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring_analog.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring_digital.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring_pulse.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/wiring_shift.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/CDC.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/HardwareSerial.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/HardwareSerial0.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/HardwareSerial1.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/HardwareSerial2.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/HardwareSerial3.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/IPAddress.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/PluggableUSB.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/Print.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/Stream.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/Tone.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/USBCore.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/WMath.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/WString.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/abi.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/main.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_31488/core/core.a" "/tmp/arduino_build_31488/core/new.cpp.o"
Archiving built core (caching) in: /tmp/arduino_cache_153838/core/core_arduino_avr_micro_80d002210ad4f4c4b138a75ac18d4048.a
Linking everything together...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4  -o "/tmp/arduino_build_31488/sketch.ino.elf" "/tmp/arduino_build_31488/sketch/sketch.ino.cpp.o" "/tmp/arduino_build_31488/core/core.a" "-L/tmp/arduino_build_31488" -lm
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "/tmp/arduino_build_31488/sketch.ino.elf" "/tmp/arduino_build_31488/sketch.ino.eep"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-objcopy" -O ihex -R .eeprom  "/tmp/arduino_build_31488/sketch.ino.elf" "/tmp/arduino_build_31488/sketch.ino.hex"
Sketch uses 3618 bytes (12%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
Uploading...
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}
An error occurred while uploading the sketch
$
VictorLamoine commented 6 years ago

The problem is not the fact that it's a symbolic link, I have tried @matthijskooijman suggestion:

$ sudo ln -s /dev/ttyACM1 /dev/ttyACM9
$ ls -l /dev/ttyACM9 
lrwxrwxrwx 1 root root 12 Oct  2 20:01 /dev/ttyACM9 -> /dev/ttyACM1
$ arduino sketch.ino --port /dev/ttyACM9 --verbose
Picked up JAVA_TOOL_OPTIONS: 
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
/opt/arduino-1.8.4/arduino-builder -dump-prefs -logger=machine -hardware /opt/arduino-1.8.4/hardware -hardware /home/victor/.arduino15/packages -tools /opt/arduino-1.8.4/tools-builder -tools /opt/arduino-1.8.4/hardware/tools/avr -tools /home/victor/.arduino15/packages -built-in-libraries /opt/arduino-1.8.4/libraries -libraries /home/victor/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10804 -build-path /tmp/arduino_build_923475 -warnings=none -build-cache /tmp/arduino_cache_14886 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/opt/arduino-1.8.4/hardware/tools/avr -verbose /home/victor/sketch/sketch.ino
/opt/arduino-1.8.4/arduino-builder -compile -logger=machine -hardware /opt/arduino-1.8.4/hardware -hardware /home/victor/.arduino15/packages -tools /opt/arduino-1.8.4/tools-builder -tools /opt/arduino-1.8.4/hardware/tools/avr -tools /home/victor/.arduino15/packages -built-in-libraries /opt/arduino-1.8.4/libraries -libraries /home/victor/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10804 -build-path /tmp/arduino_build_923475 -warnings=none -build-cache /tmp/arduino_cache_14886 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/opt/arduino-1.8.4/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/opt/arduino-1.8.4/hardware/tools/avr -verbose /home/victor/sketch/sketch.ino
Using board 'micro' from platform in folder: /opt/arduino-1.8.4/hardware/arduino/avr
Using core 'arduino' from platform in folder: /opt/arduino-1.8.4/hardware/arduino/avr
Detecting libraries used...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_923475/sketch/sketch.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_923475/sketch/sketch.ino.cpp" -o "/tmp/arduino_build_923475/preproc/ctags_target_for_gcc_minus_e.cpp"
"/opt/arduino-1.8.4/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/tmp/arduino_build_923475/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/tmp/arduino_build_923475/sketch/sketch.ino.cpp" -o "/tmp/arduino_build_923475/sketch/sketch.ino.cpp.o"
Compiling libraries...
Compiling core...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_pulse.S" -o "/tmp/arduino_build_923475/core/wiring_pulse.S.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WInterrupts.c" -o "/tmp/arduino_build_923475/core/WInterrupts.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/hooks.c" -o "/tmp/arduino_build_923475/core/hooks.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring.c" -o "/tmp/arduino_build_923475/core/wiring.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_analog.c" -o "/tmp/arduino_build_923475/core/wiring_analog.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_digital.c" -o "/tmp/arduino_build_923475/core/wiring_digital.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_pulse.c" -o "/tmp/arduino_build_923475/core/wiring_pulse.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/wiring_shift.c" -o "/tmp/arduino_build_923475/core/wiring_shift.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/CDC.cpp" -o "/tmp/arduino_build_923475/core/CDC.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp" -o "/tmp/arduino_build_923475/core/HardwareSerial.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp" -o "/tmp/arduino_build_923475/core/HardwareSerial0.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial1.cpp" -o "/tmp/arduino_build_923475/core/HardwareSerial1.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial2.cpp" -o "/tmp/arduino_build_923475/core/HardwareSerial2.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/HardwareSerial3.cpp" -o "/tmp/arduino_build_923475/core/HardwareSerial3.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/IPAddress.cpp" -o "/tmp/arduino_build_923475/core/IPAddress.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/PluggableUSB.cpp" -o "/tmp/arduino_build_923475/core/PluggableUSB.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Print.cpp" -o "/tmp/arduino_build_923475/core/Print.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Stream.cpp" -o "/tmp/arduino_build_923475/core/Stream.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/Tone.cpp" -o "/tmp/arduino_build_923475/core/Tone.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/USBCore.cpp" -o "/tmp/arduino_build_923475/core/USBCore.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WMath.cpp" -o "/tmp/arduino_build_923475/core/WMath.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/WString.cpp" -o "/tmp/arduino_build_923475/core/WString.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/abi.cpp" -o "/tmp/arduino_build_923475/core/abi.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/main.cpp" -o "/tmp/arduino_build_923475/core/main.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10804 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino" "-I/opt/arduino-1.8.4/hardware/arduino/avr/variants/micro" "/opt/arduino-1.8.4/hardware/arduino/avr/cores/arduino/new.cpp" -o "/tmp/arduino_build_923475/core/new.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring_pulse.S.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/WInterrupts.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/hooks.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring_analog.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring_digital.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring_pulse.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/wiring_shift.c.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/CDC.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/HardwareSerial.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/HardwareSerial0.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/HardwareSerial1.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/HardwareSerial2.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/HardwareSerial3.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/IPAddress.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/PluggableUSB.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/Print.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/Stream.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/Tone.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/USBCore.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/WMath.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/WString.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/abi.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/main.cpp.o"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc-ar" rcs  "/tmp/arduino_build_923475/core/core.a" "/tmp/arduino_build_923475/core/new.cpp.o"
Archiving built core (caching) in: /tmp/arduino_cache_14886/core/core_arduino_avr_micro_80d002210ad4f4c4b138a75ac18d4048.a
Linking everything together...
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4  -o "/tmp/arduino_build_923475/sketch.ino.elf" "/tmp/arduino_build_923475/sketch/sketch.ino.cpp.o" "/tmp/arduino_build_923475/core/core.a" "-L/tmp/arduino_build_923475" -lm
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "/tmp/arduino_build_923475/sketch.ino.elf" "/tmp/arduino_build_923475/sketch.ino.eep"
"/opt/arduino-1.8.4/hardware/tools/avr/bin/avr-objcopy" -O ihex -R .eeprom  "/tmp/arduino_build_923475/sketch.ino.elf" "/tmp/arduino_build_923475/sketch.ino.hex"
Sketch uses 3618 bytes (12%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
Uploading...
Forcing reset using 1200bps open/close on port /dev/ttyACM9
PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyACM9, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM9, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM9, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM9, /dev/ttyAMA0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyACM9, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyACM9, /dev/ttyAMA0, } => {/dev/ttyACM1, }
Found upload port: /dev/ttyACM1
/opt/arduino-1.8.4/hardware/tools/avr/bin/avrdude -C/opt/arduino-1.8.4/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM1 -b57600 -D -Uflash:w:/tmp/arduino_build_923475/sketch.ino.hex:i 

avrdude: Version 6.3, compiled on Dec 16 2016 at 12:14:49
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/opt/arduino-1.8.4/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/home/victor/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM1
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
    Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file "/tmp/arduino_build_923475/sketch.ino.hex"
avrdude: writing flash (3618 bytes):

Writing | ################################################## | 100% 0.37s

avrdude: 3618 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_923475/sketch.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_923475/sketch.ino.hex:
avrdude: input file /tmp/arduino_build_923475/sketch.ino.hex contains 3618 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.08s

avrdude: verifying ...
avrdude: 3618 bytes of flash verified

avrdude done.  Thank you.
VictorLamoine commented 6 years ago

Maybe avrdude makes some assumptions on a COM port name?

matthijskooijman commented 6 years ago

Maybe avrdude makes some assumptions on a COM port name?

Not avrdude, but the Arduino IDE. The lines:

PORTS {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } / {/dev/ttyACM0, /dev/ttyACM1, /dev/ttyAMA0, } => {}

Are generated by the Arduino IDE, which waits for the comport to become available before starting avrdude. The reason is that you're using an Arduino micro, which needs some special twiddling to make it reset into the bootloader. Because USB is builtin on the main chip, this also resets the USB connection, making the comport disappear and re-appear. The IDE waits for this before starting avrdude.

However, AFAIU this does not just check the specified com port, but instead monitors the list of available comports (as generated by the JSSC serial library, based on some regexes I suspect) and sees if any new ones appear (because after the reset, the micro might get a different port assigned than before, e.g. when the port is in use).

However, looking at the "broken" output, the line "Forcing reset using 1200bps open/close on port /dev/ttyACM9" is missing, which makes me suspect that it waits with the reset until the specified port is present in the JSSC port list. However, at least on Linux and OSX, it would probably be better to just check if the specified file exists (and if it's a link, if its target exists) instead of checking the JSSC port list. Alternatively, the IDE could resolve any symlinks and then continue processing with the actual port name.

VictorLamoine commented 6 years ago

This goes beyond my understanding of the Arduino programs :)

facchinm commented 6 years ago

@matthijskooijman the touch port routine just waits for any port to reappear and uses it as upload port. I believe that the code that fails is in fact the touch. I need to test on sysfs symlinks to understand if any action on the port might fail.