Trying to installing SpenceKonde's ATTiny core on 32 bit linux fails

IDE 1.8.19 32 bit on antixLinux (not sure of the version; derived from Debian).

$ uname -a
Linux AmiloPi1505 4.9.235-antix.1-486-smp #1 SMP Mon Sep 14 19:22:35 EDT 2020 i686 GNU/Linux

When using board manager to install ATTiny core 1.5.2, I immediately get the below message when I click the install button

tool avrdude is not available for your operating system

Note that I can compile and upload for AVR processors that are installed during the installation of 1.8.19. I've also updated the boards package Arduino AVR from 1.8.3 to 1.8.6 without a problem but I'm not sure if that involves an avrdude upgrade.

Any advice appreciated. Is this an IDE problem or an issue with the core that I try to install?

Hi @sterretje. Here is the entry in the package index for ATTinyCore version 1.5.2:

{
  "name": "ATTinyCore",
  "architecture": "avr",
  "version": "1.5.2",
  "category": "Contributed",
  "url": "https://SpenceKonde.github.io/ATTinyCore/ATTinyCore-1.5.2.tar.bz2",
  "archiveFileName": "ATTinyCore-1.5.2.tar.bz2",
  "checksum": "SHA-256:35bb47dc378daea53524eca3fa3838a350a6cf3dde0f12f0117ce636a11f8eb3",
  "size": "344758",
  "boards": [
    {
      "name": "<b>Program via ISP or Serial:</b> ATtiny841/441, ATtiny85/45/25, ATtiny84/44/24, ATtiny1634, ATtiny861/461/261, ATtiny167/87, ATtiny43, ATtiny828, ATtiny88/48, ATtiny4313/2313"
    },
    {
      "name": "<br/><b>USB (Micronucleus) Support:</b> DigiSpark (t85), Digispark Pro (t167), MH-ET (t88), Wattuino/Nanite/etc (t841), CaliforniaSTEAM (t84)"
    },
    {
      "name": "<br/><b>Windows users:</b> If USB drivers are not already installed, run the post_install.bat manually or DL from <a href=https://azduino.com/bin/micronucleus>https://azduino.com/bin/micronucleus</a>"
    }
  ],
  "toolsDependencies": [
    {
      "packager": "arduino",
      "name": "avr-gcc",
      "version": "7.3.0-atmel3.6.1-arduino7"
    },
    {
      "packager": "arduino",
      "name": "avrdude",
      "version": "6.3.0-arduino18"
    },
    {
      "packager": "ATTinyCore",
      "name": "micronucleus",
      "version": "2.5-azd1b"
    }
  ]
}

You can see it specifies a dependency on the arduino:avrdude@6.3.0-arduino18 tool.

The tools from the arduino packager are listed in the primary package index. The entry for arduino:avrdude@6.3.0-arduino18:

{
  "name": "avrdude",
  "version": "6.3.0-arduino18",
  "systems": [
    {
      "size": "220677",
      "checksum": "SHA-256:2e25c9e99c255d595a1072679a88ecddfa12c223b18510760bb867039f35efa5",
      "host": "arm-linux-gnueabihf",
      "archiveFileName": "avrdude-6.3.0-arduino18-armhf-pc-linux-gnu.tar.bz2",
      "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino18-armhf-pc-linux-gnu.tar.bz2"
    },
    {
      "size": "231047",
      "checksum": "SHA-256:4f88bb50d2235182ed7aa9e0a1d08e4bb956378ac9569b8e1141e37ed314fb2d",
      "host": "aarch64-linux-gnu",
      "archiveFileName": "avrdude-6.3.0-arduino18-aarch64-pc-linux-gnu.tar.bz2",
      "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino18-aarch64-pc-linux-gnu.tar.bz2"
    },
    {
      "size": "280072",
      "checksum": "SHA-256:df1dfd18e2e287c47232605cd4fa41751eb70df8c300aeb7a00a3a09b524a1b8",
      "host": "x86_64-apple-darwin12",
      "archiveFileName": "avrdude-6.3.0-arduino18-x86_64-apple-darwin12.tar.bz2",
      "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino18-x86_64-apple-darwin12.tar.bz2"
    },
    {
      "size": "254460",
      "checksum": "SHA-256:1ae46972b276b8a54c459f87c4ff326abdad0be2b1a293d73bf86e47765eddc3",
      "host": "x86_64-linux-gnu",
      "archiveFileName": "avrdude-6.3.0-arduino18-x86_64-pc-linux-gnu.tar.bz2",
      "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino18-x86_64-pc-linux-gnu.tar.bz2"
    },
    {
      "size": "329515",
      "checksum": "SHA-256:0781f4183e91a9783c2330035520144ab76b8f75c0a9f7a25877c063bc984c4d",
      "host": "i686-mingw32",
      "archiveFileName": "avrdude-6.3.0-arduino18-i686-w64-mingw32.zip",
      "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino18-i686-w64-mingw32.zip"
    }
  ]
}

Unfortunately Arduino did not produce a build of arduino:avrdude@6.3.0-arduino18 for the "i686-linux-gnu" host type of your Linux machine. This is the cause of the error. So the error message from Arduino IDE is correct and expected when installing this platform under these conditions.

Arduino never used this 6.3.0-arduino18 version of AVRDUDE as a dependency of any of the official platforms. I think it was only added to the package index to allow for some beta testing and that is probably why the developers didn't bother to produce the more rarely used build for the "i686-linux-gnu" host.

I think the most simple workaround is to do a manual installation of ATTinyCore following the instructions here:

https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md#manual-installation

the platform should then use the 6.3.0-arduino17 version of AVRDUDE you already installed along with the "Arduino AVR Boards" platform.

2 Likes

Thanks for the explanation.

I did see the manual install option but I'll have to dig a little as the mentioned directory path "hardware" might not suite the (kind-of) portable install that I have. Please leave the trying-it-out to me :wink:

I will get back if I don't get it right.

Following the instructions to the T works

/home/wim/Downloads/arduino-1.8.19-attiny/portable/sketchbook/hardware/ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this

I however wanted (or thought that it was possible) to place it in the packages directory

/home/wim/Downloads/arduino-1.8.19-attiny/portable/packages

That however did not seem to work, even when I copied the structure that was on my Windows desktop (IDE 2.0 so obviously not a portable install) and tried to copy the contents of the zip into the structure.

But I can now help other people again who encounter problems with ATTinys; I don't have ATTinys so can't test uploads but at least I can compile.

Thanks again for the explanation and the advice.

After you get the more complex installation folder structure right, there are two possible causes of problems specific to manually installing a boards platform to that location:

  • Arduino IDE 1.x will not recognize the platform if it isn't listed in a package index
    This is fixed by adding the index URL to the "Additional Boards Manager URLs" preference and then opening "Boards Manager" to cause Arduino IDE to download the package index.
  • Arduino IDE uses the information in the toolsDependencies field of the package index entry to determine which tools should be used when compiling and uploading.
    So this might cause the IDE to attempt to use the missing arduino:avrdude@6.3.0-arduino18 specified in that field instead of the arduino:avrdude@6.3.0-arduino17 that was already installed.

All in all, installing it under portable/packages/ doesn't seem worth the extra trouble when the sketchbook installation approach works fine.

You are welcome. I'm glad it is working now.

Regards,
Per

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.