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.
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.
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
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
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…
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
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
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.