I had the project set up a while ago when i upgraded my Ender 3s Mainboard. I didnt do anything with it until a couple of days ago where i changed some firmware confugirations (successfully) it notified me about some updates (automated we love those). Now i tried building again and got the exact same error message apparently out of nowhere.
I have the 6.1.8a dev core installed (After Error)
PlatformIO 3.1.1 installed (Presumingly couple of days ago)
Reinstalled PlatformIO including deletion of C:/Users//.platformio
Downloaded the latest firmware from the BTT/BIGTREETECH-SKR-mini-E3 github page and replaced the whole project (preserving my configuration.h and my configuration_adv.h)
>pio system info
-------------------------- --------------------------------------------------------------------
PlatformIO Core 6.1.7a2
Python 3.11.1-final.0
System Type windows_amd64
Platform Windows-10
hi @mongoq
try this
step 1:
platformio run --silent -e STM32F103RE_btt_USB_maple ; echo “done” >|“/tmp/ipc”
RuntimeError: deque mutated during iteration:
File “/home/userx/.platformio/penv/lib/python3.11/site-packages/platformio/builder/main.py”, line 181:
go to the location by using ctrl + click
step 2:
env.SConscript(env.GetExtraScripts(“post”), exports=“env”)
comment on this line by using #
I think it will work.
userx@x220:~/projects/ender3/firmware/Marlin-2.1.2_SKR_Mini_E3_v2_BLTouch$ platformio run --silent -e STM32F103RE_btt_USB_maple ; echo “done” >|“/tmp/ipc”
In file included from Marlin/src/gcode/config/…/…/pins/pinsDebug.h:171:0,
from Marlin/src/gcode/config/M43.cpp:29:
Marlin/src/gcode/config/…/…/pins/…/HAL/STM32F1/pinsDebug.h:57:15: warning: ‘int8_t get_pin_mode(pin_t)’ defined but not used [-Wunused-function]
static int8_t get_pin_mode(pin_t pin) {
^~~~~~~~~~~~
Marlin/src/inc/Warnings.cpp:731:6: warning: #warning “Motherboard DIAG jumpers must be removed when SENSORLESS_HOMING is disabled. (Define DIAG_JUMPERS_REMOVED to suppress this warning.)” [-Wcpp] #warning “Motherboard DIAG jumpers must be removed when SENSORLESS_HOMING is disabled. (Define DIAG_JUMPERS_REMOVED to suppress this warning.)”
^~~~~~~
Marlin/src/inc/Warnings.cpp:770:4: warning: #warning “Maple build environments are deprecated. Please use a non-Maple build environment. Report issues to the Marlin Firmware project.” [-Wcpp] #warning “Maple build environments are deprecated. Please use a non-Maple build environment. Report issues to the Marlin Firmware project.”
^~~~~~~
/home/userx/.platformio/packages/toolchain-gccarmnoneeabi/bin/…/lib/gcc/arm-none-eabi/7.2.1/…/…/…/…/arm-none-eabi/bin/ld: cannot open linker script file STM32F103RE_SKR_MINI_512K.ld: Datei oder Verzeichnis nicht gefunden
collect2: error: ld returned 1 exit status
*** [.pio/build/STM32F103RE_btt_USB_maple/firmware.elf] Error 1
=========================================
[FAILED] Took 122.01 seconds
=========================================
Environment Status Duration
STM32F103RE_btt_USB_maple FAILED 00:02:02.009
1 failed, 0 succeeded in 00:02:02.009
Now I do have the missing file → ./Marlin-2.1.2_SKR_Mini_E3_v2_BLTouch/buildroot/share/PlatformIO/ldscripts/STM32F103RE_SKR_MINI_512K.ld
That worked for me! Wondering why this problem occured in the first place because i did not alter the build environment/firmware besides some configuration.h and configuration_adv.h tweaks. Also would there be possibly a downside to just using plane marlin with my configs adopted instead of the BTT forked FW?
PlatformIO had a new core version released lately because of installation issues on Mac OS here. The PlatformIO extension auto-updates to the newest stable core version.
Not sure how this code could ever work though on the old core version though, but it obviously did for me… Maybe you should open an issue about the regression in Issues · platformio/platformio-core · GitHub
For reference: Marlin fixed this issue already 2 months ago.
Of course all of these forked Marlin repos are now not having that.