Author Topic: avrdude No such file or directory  (Read 6630 times)

mes

  • Newbie
  • *
  • Posts: 9
avrdude No such file or directory
« on: October 03, 2014, 05:18:54 pm »
I am using Fedora 20 with the arduino IDE 64bit version 1.5.8. When I try to upload it appears that compilation starts but then I get this error. avrdude is clearly at that path. I checked permissions and they look ok. I also tried running the IDE as root (with the digispark hardware directory in /root/Arduino) and got the same results. For fun I also tried version 1.5.7 and the nightly build of the IDE and got the same results. Any ideas?

Code: [Select]
java.io.IOException: Cannot run program "/home/myhome/Misc/Packages/Arduino/sketchbook/hardware/digistump/avr/tools/avrdude": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at java.lang.Runtime.exec(Runtime.java:617)
at java.lang.Runtime.exec(Runtime.java:485)
at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:13)
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:104)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:125)
at processing.app.Sketch.upload(Sketch.java:1713)
at processing.app.Sketch.exportApplet(Sketch.java:1624)
at processing.app.Sketch.exportApplet(Sketch.java:1596)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2392)
at java.lang.Thread.run(Thread.java:745)
« Last Edit: October 03, 2014, 06:24:47 pm by mes »

mes

  • Newbie
  • *
  • Posts: 9
Re: avrdude No such file or directory
« Reply #1 on: October 03, 2014, 06:28:37 pm »
I just found the problem. The avrdude distributed with the digispark extras is 32bit and I have no 32 bit support installed on this computer. The micronucleus executable is 64 bit. Here is what I get when I run
Code: [Select]
find . -type f -executable -exec file '{}' \; | grep ELF


Code: [Select]
3:./tools/micronucleus: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=9fe48cd7e4a07f2d869026e2967652b69751b85c, not stripped
4:./tools/avrdude: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=4de23b7931a126b710dca8463647dd931937030c, not stripped
79:./libraries/DigiMouse/osccal.o: ELF 32-bit LSB relocatable, Atmel AVR 8-bit, version 1 (SYSV), not stripped
120:./libraries/DigiJoystick/osccal.o: ELF 32-bit LSB relocatable, Atmel AVR 8-bit, version 1 (SYSV), not stripped
239:./libraries/DigiUSB/osccal.o: ELF 32-bit LSB relocatable, Atmel AVR 8-bit, version 1 (SYSV), not stripped
244:./libraries/DigiUSB/libs-device/osccal.o: ELF 32-bit LSB relocatable, Atmel AVR 8-bit, version 1 (SYSV), not stripped

Only avrdude needs to be recompiled as a 64 bit executable. But there may be a need to offer a 32 bit version of micronucleus.
« Last Edit: October 03, 2014, 06:41:30 pm by mes »

mes

  • Newbie
  • *
  • Posts: 9
Re: avrdude No such file or directory
« Reply #2 on: October 04, 2014, 02:00:12 pm »
I resolved this on my own. I downloaded avrdude-dummy.cpp and Makefile from https://github.com/digistump/avr-dummy and compiled it. I used the resulting avrdude executable instead of the one contained in the digispark pro tools. Fortunately it was not necessary to recompile micronucleus since it was already 64 bit.

Having done that and adding the digispark udev rules from http://digistump.com/wiki/digispark/tutorials/linuxtroubleshooting, the system works.

MichaelMeissner

  • Full Member
  • ***
  • Posts: 166
Re: avrdude No such file or directory
« Reply #3 on: October 04, 2014, 07:13:21 pm »
Well alternatively, you could have just installed the 32-bit library packages, but if the only 32-bit program you have is avrdude, it is easily solved by recompilation like you did.

digistump

  • Administrator
  • Hero Member
  • *****
  • Posts: 1465
Re: avrdude No such file or directory
« Reply #4 on: November 08, 2014, 02:10:23 pm »
@mes - do you mind sharing the 64-bit version you compiled?