Teensy 4.0 not compiling on Raspberry pi, bits/c++config.h: No such file or directory

Hello! Here is the error I get:

/home/pi/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: cannot find -larm_cortexM7lfsp_math
collect2: error: ld returned 1 exit status
*** [.pio/build/teensy40/firmware.elf] Error 1

You need to recopy the missing libraries per Teensy 4.0 not compiling on Raspberry pi, bits/c++config.h: No such file or directory - #7 by maxgerhardt to the /home/pi/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/lib again.

1 Like

I have this new error? Thanks again

Processing teensy40 (platform: teensy; framework: arduino; board: teensy40)
-------------------------------------------------------------------------------
Tool Manager: Installing https://github.com/maxgerhardt/pio-tool-teensy-arm/arc                              hive/master.zip
Tool Manager: tool-teensy @ 1.152.200516 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy40.html
PLATFORM: Teensy (4.11.0) > Teensy 4.0
HARDWARE: IMXRT1062 600MHz, 512KB RAM, 1.94MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES:
 - framework-arduinoteensy 1.153.0 (1.53)
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 91 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <OctoWS2811> 1.4.0+sha.aa374fc
|-- <SPI> 1.0
|-- <arduinoFFT> 1.5.5
Building in release mode
Linking .pio/build/teensy40/firmware.elf
Building .pio/build/teensy40/firmware.hex
Checking size .pio/build/teensy40/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  20.5% (used 107220 bytes from 524288 bytes)
Flash: [          ]   3.0% (used 60480 bytes from 2031616 bytes)
Configuring upload protocol...
AVAILABLE: jlink, teensy-cli, teensy-gui
CURRENT: upload_protocol = teensy-cli
Rebooting...
sh: 1: teensy_reboot: not found
*** [upload] Error 127
========================= [FAILED] Took 3.69 seconds =========================

Hm seems can’t find the teensy_reboot binary. Also the used packages shown

don’t include the explicit override for tool-teensy. Is that line still in the platformio.ini?

If yes, I’ll have to reproduce this on my Pi and check what’s up.

When I removed the line for
tool-teensy

I get this error:

Unknown MCU type "imxrt1062"
Supported MCUs are:
 - at90usb162
 - atmega32u4
 - at90usb646
 - at90usb1286
 - mkl26z64
 - mk20dx128
 - mk20dx256
 - mk66fx1m0
 - mk64fx512
 - TEENSY2
 - TEENSY2PP
 - TEENSYLC
 - TEENSY30
 - TEENSY31
 - TEENSY35
 - TEENSY36
*** [upload] Error 1

Interesting, so it either takes the old package version or does not accept the new package via the override.

Are you 100% certain the formatting in the platformio.ini is correct? There must be at least 3 spaces before the tool-teensy line.

You can also try to rm -rf ~/.platformio/packages/tool-teensy* your old packages to force a redownload.

Got rid of the ini and copied it exactly from your post, this is what I got again:

pi@raspberrypi:~/Documents/Visualisd $ pio run --target upload
Processing teensy40 (platform: teensy; framework: arduino; board: teensy40)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing https://github.com/maxgerhardt/pio-tool-teensy-arm/archive/master.zip
Tool Manager: tool-teensy @ 1.152.200516 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy40.html
PLATFORM: Teensy (4.11.0) > Teensy 4.0
HARDWARE: IMXRT1062 600MHz, 512KB RAM, 1.94MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES:
 - framework-arduinoteensy 1.153.0 (1.53)
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 91 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <OctoWS2811> 1.4.0+sha.aa374fc
|-- <SPI> 1.0
|-- <arduinoFFT> 1.5.5
Building in release mode
Linking .pio/build/teensy40/firmware.elf
Building .pio/build/teensy40/firmware.hex
Checking size .pio/build/teensy40/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [==        ]  20.5% (used 107220 bytes from 524288 bytes)
Flash: [          ]   3.0% (used 60480 bytes from 2031616 bytes)
Configuring upload protocol...
AVAILABLE: jlink, teensy-cli, teensy-gui
CURRENT: upload_protocol = teensy-cli
Rebooting...
sh: 1: teensy_reboot: not found
*** [upload] Error 127
====================================================================== [FAILED] Took 3.67 seconds ==============================================```

I also did
rm -rf ~/.platformio/packages/tool-teensy*

Yeah the error is reproducable for me on the latest PlatformIO version (latest dev 5.0.2b2) but not the version I was on before that… I’ll see if if I can fix this with advanced scripting or uploading to the trusted PlatformIO package repository.

Guaranteed fixed by pip uninstall platformio and pip install 'platformio==4.3.4 and then /home/pi/.local/bin/pio run in the project, but ugly.

Gotcha thanks. Let me know if you end up finding another solution

I’ve correct the package.json in Update package.json · maxgerhardt/pio-tool-teensy-arm@83d4e72 · GitHub and now it works for me.

With the same platformio.ini as posted above, execute

rm -rf ~/.platformio/.cache/*
rm -rf ~/.platformio/packages/tool-teensy*
pio run -t upload

in the project.

for me that outputs at the start

pi@raspberrypi:~/arduino-blink $ pio run
Processing teensy40 (platform: teensy; framework: arduino; board: teensy40)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing https://github.com/maxgerhardt/pio-tool-teensy-arm/archive/master.zip
Downloading...
Tool Manager: tool-teensy @ 1.152.200516 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/teensy/teensy40.html
PLATFORM: Teensy (4.11.0) > Teensy 4.0
HARDWARE: IMXRT1062 600MHz, 512KB RAM, 1.94MB Flash
DEBUG: Current (jlink) External (jlink)
PACKAGES:
 - framework-arduinoteensy 1.153.0 (1.53)
 - tool-teensy 1.152.200516 (1.52)
 - toolchain-gccarmnoneeabi 1.90301.200702 (9.3.1)

and the package is found.

If that is not the case, try pio upgrade --dev so that you have the same version as me.

Hey! that worked great! Thanks!

Today, I also got this problem:

In file included from /home/pi/.platformio/packages/framework-arduinoteensy/cores/teensy4/wiring.h:45:0,
from /home/pi/.platformio/packages/framework-arduinoteensy/cores/teensy4/WProgram.h:45,
from /home/pi/.platformio/packages/framework-arduinoteensy/cores/teensy4/Arduino.h:6,
from src/prog.cpp:1:
/home/pi/.platformio/packages/toolchain-gccarmnoneeabi/arm-none-eabi/include/c++/5.4.1/type_traits:38:28: fatal error: bits/c++config.h: No such file or directory
compilation terminated.
*** [.pio/build/teensy40/src/prog.cpp.o] Error 1

Is there a more recent new solution than the one from Oct 2020?

Which exact platformio.ini are using? There might be more up-to-date and working package URLs in Error compiling Arduino board "teensy40" on Raspbian GNU/Linux 10 (buster) · Issue #51 · platformio/platform-teensy · GitHub.

I am using:

[env:teensy40]
platform = teensy
board = teensy40
framework = arduino

On a raspberry pi zero w

the teensy36 seems to compile well with

[env:teensy36]
platform = teensy
board = teensy36
framework = arduino

Have you tried it with the options referenced in the issue?

[env:teensy40]
platform = teensy
board = teensy40
framework = arduino
platform_packages =
   toolchain-gccarmnoneeabi@~1.90301.0
   tool-teensy@https://github.com/maxgerhardt/pio-tool-teensy-arm/archive/master.zip

plus adding the library file per Teensy 4.0 not compiling on Raspberry pi, bits/c++config.h: No such file or directory - #7 by maxgerhardt? (path might to toolchain might slightly differ)