Skip to content

Installation of "FACTS:samd" issue with dependency bossac 1.8.0: "no versions available for the current OS" #11

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
kizniche opened this issue Mar 10, 2024 · 2 comments

Comments

@kizniche
Copy link
Contributor

kizniche commented Mar 10, 2024

I wasn't sure if this was the appropriate place to submit this, since only the board json exists in this repo:

https://github.com/facts-engineering/facts-engineering.github.io/blob/c531f308a00164e2655f3461fa7c2a96f423372b/package_productivity-P1AM-boardmanagermodule_index.json

But I noticed issue reporting is not enabled at https://github.com/facts-engineering/ArduinoCore-samd, so this was my only option.

In attempting to add the P1AM-200 board to arduino on a Raspberry Pi Compute Module 4 (CM4), it appears the current version of the dependency bossac doesn't provide aarch64 support:

Linux here 6.1.57-v8+ #1688 SMP PREEMPT Thu Oct 12 15:14:26 BST 2023 aarch64 GNU/Linux
arduino-cli  Version: 0.35.3 Commit: 95cfd654 Date: 2024-02-19T13:24:25Z
user@here:~/arduino $ ./bin/arduino-cli core install FACTS:samd
Downloading packages...
FACTS:arm-none-eabi-gcc@9-2019q4 downloaded
arduino:[email protected] downloaded
Error during install: Error downloading tool arduino:[email protected]: no versions available for the current OS

This appears to be a similar issue to adafruit/arduino-board-index#95 that also uses bossac 1.8.0. That issue suggests bossac 1.9 supports aarch64. However, I'm not very familiar with Arduino board files, and I could not figure out how to use 1.9.1 instead of 1.8.0 to test compatibility.

Would you possibly be able to update this dependency to a newer version to add aarch64 support for the P1AM-200?

Thank you for the consideration,
Kyle

@AdamCummick
Copy link
Member

Hey Kyle,

We can investigate updating the dependency, but in the meantime you can edit the json for the board package and host it in something like a gist to update the package yourself. Here is an example of this for the -100, but the -200 should be similar.

If this causes problems for your process or you'd like to discuss in more detail, please reach out to me [email protected].

Thanks
Adam

@kizniche
Copy link
Contributor Author

Thanks, Adam. I found your posts and I decided to make another attempt at getting bossac running on aarch64 (Raspberry Pi CM4). I wasn't having any luck from analyzing your board file, since all the packages in the P1AM-200 were newer versions than the P1AM-100. However, I did find a detailed solution to getting bossac working on aarch64 here, which involved simply switching to using adafruit's bossac package (same version, but added support for aarch64), which also necessitated adding adafruit's board file to have their bossac packages available. Once I did this, bossac for aarch64 was found and downloaded, and I was able to compile and upload on my CM4 via the command line. Briefly, for anyone else wanting to do/test this, here are the steps:

Install and initialize arduino:

curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
./bin/arduino-cli config init
./bin/arduino-cli core update-index

Important part: Add the following board files to ~/.arduino15/arduino-cli.yaml (second is my modified board json with "arduino" changed to "adafruit" for the bossac package):

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
https://raw.githubusercontent.com/kizniche/facts-engineering.github.io/board-json-test-01/package_productivity-P1AM-boardmanagermodule_index.json

Then update and install the board dependencies (for P1AM-200):

./bin/arduino-cli core update-index
./bin/arduino-cli core install FACTS:samd

Install libraries (at a minimum, "P1AM"):

./bin/arduino-cli lib install P1AM ATMAC_EEPROM "Adafruit Neopixel" Ethernet MQTT hd44780

Then compiling is possible on the CM4. I'm not sure how involved it would be to add this aarch64 support to your board file, but this is an acceptable solution for me for now.

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