Arduino-proffieboard updated to version 4.1

Good news: The bug experienced in arduino-proffieboard plugin 4.1 seems to be fixed in gcc 14.2.rel1.

The new compiler likes to complain a fair bit more, so compiling ProffieOS can be a bit spammy. I’ve made fixes on the github master version of proffieOS though.

Right now, gcc 14.2.rel1 is only available on the “experimental” channel of the arduino-proffieboard plugin as version “4.4”. Please help me test it, because who knows what new and wonderful bugs are awaiting us in the minefield that is gcc…

Testing means compiling something that already works, and making sure that it still works as expected. I don’t need people to spend a lot of time on testing, but the more people that do it, the better off we’ll be.

If it works for 5 people, I’ll promote it to beta, and then we’ll try to get at least 10 more before we consider making it live.

How does one change to the experimental channel for installation? On the web, all I can see is 3.6.

I was able o download a zip of 4.4, but I don’t know what to do with it. I am on windows if that changes anything.

One adds this url:

https://profezzorn.github.io/arduino-proffieboard/package_proffieboard_experimental_index.json

To “additional board manager urls” in Arduino.
Note that you don’t need to remove your normal proffieboard URL, and you can have one version installed per channel. So you can have both 3.6.0 and 4.4.0 installed at the same time and switch between them using Tools → Board.

Also, please use Arduino 2.x to install.

1 Like

Thanks, got it.

I get this error upon install

Error: 13 INTERNAL: Cannot install tool proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1: searching package root dir: no unique root dir in archive, found 'C:\Users\Nathan\AppData\Local\Arduino15\tmp\package-351319551\arm-none-eabi' and 'C:\Users\Nathan\AppData\Local\Arduino15\tmp\package-351319551\bin'

I tried removing the archives and reinstalling it, but I get the same error. Arduino IDE 2.3.2

Sounds like there are problems with the windows archive. I will see if I can fix it.

2 Likes

As a note for anyone sticking to Arduino 1.8.19 after installing 4.4.0 experimental:
If you have both official and experimental versions installed simultaneously, the 1.8.19 version of the Tools>Board menu shows both plugin packages as just “Proffieboard”.

The newer version 2.x Arduino is kind enough to show a difference as “Proffieboard” and “Proffieboard Experimental”, which makes knowing which you’re choosing easy.

To mimic this labeling when using Arduino 1.8.19, you can edit the text file found at
Arduino15/packages/proffieboard_experimental/hardware/stm32l4/4.0.0/platform.txt
The “name” line can be whatever you want to show up in the Tools>Board menu.
I made mine like this:
name=Proffieboard_experimental

2 Likes

Using Windows10
Arduino IDE 2.3.4

I also got this error when trying to install 4.4.0 experimental:

Downloading packages
proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1
proffieboard_experimental:stm32l4@4.4
Installing proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1
Failed to install platform: 'proffieboard_experimental:stm32l4:4.4'.
Error: 13 INTERNAL: Cannot install tool proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1: searching package root dir: no unique root dir in archive, found 'C:\...\Arduino15\tmp\package-4279131847\arm-none-eabi' and 'C:\...\Arduino15\tmp\package-4279131847\bin'

I’ll try 4.3 & 4.2 tomorrow, next year :grin:. Happy New Year everyone. :partying_face: :tada: & thank you all for being awesome.

Well the problem is that the zip files from arm have a different layout than expected.

Previous versions had one top-level folder called arm-gnu-toolchain-12.3.rel1-mingw-w64-i686-arm-none-eabi, with subfolders called share, lib, libexec, etc.

In the new version, share, lib, libexec and the other folders are in the top level of the zip file. This kind of makes sense since windows usually creates a folder based on the zip file name anyways when you unzip something, but it’s not what arduino wants…

Of course, all other platforms use tar.xz files, which are much smaller, have the top-level directory and should work just fine…

So I think 4.4 should work on windows now.
It might be a bit slower to download the file since I have to host it on my server though…

I can confirm, it installed:

Downloading packages
proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1
proffieboard_experimental:stm32l4@4.4
Installing proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1
Configuring tool.
proffieboard_experimental:arm-none-eabi-gcc@14-2-rel1 installed
Replacing platform proffieboard_experimental:stm32l4@4.1 with proffieboard_experimental:stm32l4@4.4
Uninstalling proffieboard_experimental:stm32l4@4.1
Running pre_uninstall script.
Platform proffieboard_experimental:stm32l4@4.1 uninstalled
Uninstalling proffieboard_experimental:arm-none-eabi-gcc@12-3-rel1, tool is no more required
Running pre_uninstall script.
Tool proffieboard_experimental:arm-none-eabi-gcc@12-3-rel1 uninstalled
Configuring platform.
Platform proffieboard_experimental:stm32l4@4.4 installed

As far as it “working”/compiling using smallest code:
with 3.6.0
Sketch uses 465984 bytes (91%) of program storage space. Maximum is 507904 bytes.
with 4.4.0

cc1plus.exe: out of memory allocating 636120 bytes

exit status 1

Compilation error: exit status 1exit status 1

Compilation error: exit status 1

But I didn’t use the latest Github master yet.

That’s weird.
Wonder if 14.2 is a lot more memory hungry, or if it’s a bug?
(My computer has a lot of memory, so I wouldn’t notice.)

It should work with 7.x as well, you just get a lot of warnings I think.

With the latest 17 commits updated:


cc1plus.exe: out of memory allocating 693792 bytes

exit status 1

Compilation error: exit status 1

I don’t think it is talking about computer memory but about flash memory from the Proffie board v3

Testing:

Arduino 2.3.4
Mac Sequoia 15.2
Proffie OS 7.14 (general stable release)
Using my current “personal saber” config that runs great.

Proffie V2.2

Error on compile with Experimental Package -

dyld[11648]: Library not loaded: /usr/local/opt/zstd/lib/libzstd.1.dylib
  Referenced from: <73E7659D-2FDC-30A7-BE7F-5E4CE7A08422> /Users/catherinebogin/Library/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/14-2-rel1/libexec/gcc/arm-none-eabi/14.2.1/cc1plus
  Reason: tried: '/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/usr/lib/libzstd.1.dylib' (no such file, not in dyld cache)
arm-none-eabi-g++: internal compiler error: Abort trap: 6 signal terminated program cc1plus
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://bugs.linaro.org/> for instructions.
exit status 4

Compilation error: exit status 4

I tried with the gitbub master Proffie OS. Compiles fine (consumed 2% additonal memory).

Error with Experimental Plug In:

dyld[11871]: Library not loaded: /usr/local/opt/zstd/lib/libzstd.1.dylib
  Referenced from: <73E7659D-2FDC-30A7-BE7F-5E4CE7A08422> /Users/catherinebogin/Library/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/14-2-rel1/libexec/gcc/arm-none-eabi/14.2.1/cc1plus
  Reason: tried: '/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/usr/local/opt/zstd/lib/libzstd.1.dylib' (no such file), '/usr/lib/libzstd.1.dylib' (no such file, not in dyld cache)
arm-none-eabi-g++: internal compiler error: Abort trap: 6 signal terminated program cc1plus
Please submit a full bug report, with preprocessed source (by using -freport-bug).
See <https://bugs.linaro.org/> for instructions.
exit status 4

Compilation error: exit status 4

Ok, so so far we have:

  1. arm-gcc 14.2 zipfile has the wrong directory structure for arduino on windows
  2. arm-gcc 14.2 dies with out of memory error on windows
  3. arm-gcc 14.2 on mac relies on libzstd.1.dylib, but does not include it

It’s not looking good for arm-gcc 14.2

Here’s what I get when I try to compile on windows:

C:/Users/Hubbe/AppData/Local/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/14-2-rel1/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld.exe:C:\Users\Hubbe\AppData\Local\Arduino15\packages\proffieboard_experimental\hardware\stm32l4\4.4\variants\STM32L452RE-ProffieboardV3/linker_scripts/STM32L452RE_FLASH.ld:224: warning: memory region `SRAM2' not declared
lto1.exe: fatal error: compiler does not support ZSTD LTO compression
compilation terminated.
lto-wrapper.exe: fatal error: C:\Users\Hubbe\AppData\Local\Arduino15\packages\proffieboard_experimental\tools\arm-none-eabi-gcc\14-2-rel1/bin/arm-none-eabi-gcc returned 1 exit status
compilation terminated.
C:/Users/Hubbe/AppData/Local/Arduino15/packages/proffieboard_experimental/tools/arm-none-eabi-gcc/14-2-rel1/bin/../lib/gcc/arm-none-eabi/14.2.1/../../../../arm-none-eabi/bin/ld.exe: error: lto-wrapper failed
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

This also seems to be libzstd-related in some way.

I would normaly say: make it a tomorrow problem.
But today I say: make it a next year problem.

Enjoy your evening and Happy New Year.

I’m making it someone else’s problem:

3 Likes

I installed using IDE 2.3.4 and running fine for me using 1.8.19.
MacOS 15.2.