Skip to content

mkfatfs entry in package_esp32_dev_index.json does not provide an entry for x86_64-pc-linux-gnu #5376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
msebas opened this issue Jul 11, 2021 · 4 comments
Milestone

Comments

@msebas
Copy link

msebas commented Jul 11, 2021

Hello,

I tried to install arduino-esp32 2.0.0-alpha for Sloeber IDE (4.3.3.202004230915) on an openSuSe 15.2 x86_64 (5.3.18-lp152.72-default Kernel) machine.
I added https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/package_esp32_dev_index.json to the list of third party index urls in "Arduino->Third party index url's" in Preferences . Afterwards I selected the esp32-2.0.0-alpha1 entry in the "Arduino->Platforms and Boards" in Preferences and hit "Apply".
But "Adopting Arduino Board Platform" in step "Installing Arduino Board Plattforms" returned with the following error:

Failed to install esp32 
No valid system found for "mkfatfs".

I took a look into the package_esp32_dev_index.json and found that the entry for mkfatfs reads

        {
          "version": "0.3.6",
          "name": "mkfatfs",
          "systems": [
            {
              "host": "i686-pc-linux-gnu",
              "url": "https://github.com/lorol/arduino-esp32fatfs-plugin/raw/master/extra/mkfatfs.tar.gz",
              "archiveFileName": "mkfatfs.tar.gz",
              "checksum": "SHA-256:41dc0346a38d6aab5674d4301937868e69471b69d8317ed667d2eeb7c4a077ee",
              "size": "102575"
            },
            {
              "host": "i686-mingw32",
              "url": "https://github.com/lorol/arduino-esp32fatfs-plugin/raw/master/extra/mkfatfs.zip",
              "archiveFileName": "mkfatfs.zip",
              "checksum": "SHA-256:966f378da8bba524197d7d8a919e93b21b4680ead03ae69cac8bb56f8ec864a6",
              "size": "612169"
            }
          ]
        }

missing an entry for x86_64-pc-linux-gnu.

Is this entry not required, supported or missing out of some other reason?
If it is simply missing please add it.
Sloeber is quite aggressive in terms of configuration strictness. So it might be that it tries to install something not required.

PS: I added it assuming I could reuse the entry for "i686-pc-linux-gnu", but that failed changing the error message to

Failed to install esp32
Failed to extract tar.bz2. "/home/Sebastian/programme/eclipse/sloeber/Sloeber/arduinoPlugin/downloads/mkfatfs.tar.gz".
Invalid archive: it must contain a single root folder

which is correct, the archive contains a single file called "mkfatfs", instead of the usual folder.

As soon as I have time I am going to provide it with a dummy on my own Webserver to see if this resolves the issue as workaround.

@msebas
Copy link
Author

msebas commented Jul 12, 2021

Hi,

I tried to run the installer with a local version of "mkfatfs.tar.gz" with the structure

mkfatfs.tar.gz
|---->mkfatfs
          |--------->mkfatfs
          |--------->package.json

adjusted like "mklittlefs.tar.gz".

Now the installation succeeded, but somewhere something is wrong with the settings (/bin/sh: /bin/xtensa-esp32-elf-g++: Datei oder Verzeichnis nicht gefunden), so I am unable to decide if it is working now.
I am trying to fix the settings and then verify if this indeed the solution.

@me-no-dev
Copy link
Member

that error seems to suggest that the toolchain folder was not set properly

@msebas
Copy link
Author

msebas commented Jul 18, 2021

OK. Please excuse the late answer. I was very busy during the week and checking the follow up error was a mess.

My findings:

  1. The follow up error was a Sloeber 4.3 problem unrelated to the original problem. It was resolved by updating Sloeber.
  2. Even with Sloeber 4.4 mkfatfs is still required, so one has to use a makeshift version of the package_esp32_dev_index.json to circumvent it.
  3. The mkfatfs binary provided for "i686-pc-linux-gnu" seems to work on "x86_64-pc-linux-gnu", but I have no controller where a predefined FAT partition scheme exists, so I am unable to check if it is really working.

@me-no-dev : I would like to know how we should proceed from here on. I could think of 3 possibilities:
1.) I make merge requests for both this repository and https://github.com/lorol/arduino-esp32fatfs-plugin to include my makeshift changes as parts of the setup config.
2.) One might follow the suggestion at https://github.com/lorol/arduino-esp32fatfs-plugin and drop mkfatfs in favor of https://github.com/lorol/arduino-esp32fs-plugin (I cannot see all the implications from this step, so I have to rely on you to make a judgement)
3.) We leave it as it is.
If you have any other suggestion, I am going to help, but I do not have that much time and abilit at my disposal.

Kind regards

PS: For anyone hitting this because googling the follow up error (see Sloeber/arduino-eclipse-plugin#1184 ):

  1. Update to Sloeber 4.4 (If the normal Sloeber does not work, download eclipse C++-Embeeded and install the plugin)
  2. Sloeber 4.4 does not support Java 16 which is now bundled to newer Eclipse version, so use the 2021.03 (check that it uses a justj.openjdk 15) and avoid any dependency to bintray by disabling the repos because of https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/

@me-no-dev
Copy link
Member

@msebas thanks for exploring :) I think the proper solution is to remove the tool from the json until the maintainer of it provides versions for all platforms. You do not need it to build and flash through sloeber and espressif is working on own tool that will do more or less the same and be precompiled multi-platform.

@me-no-dev me-no-dev added this to the 2.0.0 milestone Jul 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants