Skip to content

Commit ee63a1c

Browse files
Acuadros95mergify-bot
authored and
mergify-bot
committed
Add platformio known issues to Readme (#849)
* Add platformio known issues to Readme * Fix ident (cherry picked from commit 08c0e7d)
1 parent 08f0614 commit ee63a1c

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ As the build process for ROS 2 and micro-ROS is based on custom meta-build syste
99
- [How to use the precompiled library](#how-to-use-the-precompiled-library)
1010
- [Arduino IDE](#arduino-ide)
1111
- [PlatformIO](#platformio)
12+
- [Known issues](#known-issues)
1213
- [How to build the precompiled library](#how-to-build-the-precompiled-library)
1314
- [Patch Arduino board for support precompiled libraries](#patch-arduino-board-for-support-precompiled-libraries)
1415
- [Patch Teensyduino](#patch-teensyduino)
@@ -86,6 +87,77 @@ pio run --target upload # Flash the firmware
8687
```
8788

8889
An example of a micro-ROS application using PlatformIO is available [here](https://github.com/husarion/micro_ros_stm32_template).
90+
91+
#### Known issues
92+
93+
- `multiple definition of` Link errors on galactic:
94+
95+
Create a python script fix_linker.py on your directory and modify the linker flags manually:
96+
```
97+
Import("env")
98+
env["_LIBFLAGS"] = ('-Wl,--start-group -Wl,--whole-archive '
99+
'${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, '
100+
'LIBSUFFIXES, __env__)} -Wl,--no-whole-archive -lstdc++ '
101+
'-lsupc++ -lm -lc -lgcc -lnosys -lmicroros -Wl,--end-group')
102+
```
103+
104+
Now add it to your `platformio.ini` like this: `extra_scripts = fix_linker.py` and delete the `-l libmicroros` line on `build_flags`.
105+
106+
Related: https://github.com/micro-ROS/micro_ros_arduino/pull/848#issuecomment-1072196933, https://github.com/micro-ROS/micro_ros_arduino/issues/774
107+
108+
- Arduino Portenta H7
109+
- Follow **`multiple definition of` Link errors on galactic** modifications
110+
111+
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/847
112+
113+
- Arduino Nano RP2040 Connect
114+
115+
- The following versioning shall be used:
116+
```
117+
lib_deps =
118+
arduino-libraries/WiFiNINA@^1.8.13
119+
...
120+
121+
platform_packages =
122+
toolchain-gccarmnoneeabi @ ~1.70201.0
123+
framework-arduino-mbed @ ~2.4.1
124+
```
125+
126+
- Library dependency finder shall be set to `chain+`: `lib_ldf_mode = chain+`
127+
- Follow **`multiple definition of` Link errors on galactic** modifications
128+
129+
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/780
130+
131+
- Arduino Due
132+
- The following versioning shall be used:
133+
```
134+
platform_packages =
135+
toolchain-gccarmnoneeabi@<1.50000.0
136+
```
137+
138+
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/698
139+
140+
- ESP32 Dev Module
141+
- Known issues with espressif32 arduino package, use `2.0.2` version:
142+
```
143+
[env:esp32dev]
144+
platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
145+
board = esp32dev
146+
framework = arduino
147+
lib_deps =
148+
https://github.com/micro-ROS/micro_ros_arduino.git
149+
build_flags =
150+
-L ./.pio/libdeps/esp32dev/micro_ros_arduino/src/esp32/
151+
-l microros
152+
-D ESP32
153+
154+
platform_packages =
155+
toolchain-xtensa32 @ ~2.80400.0
156+
framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#2.0.2
157+
```
158+
159+
Related: https://github.com/micro-ROS/micro_ros_arduino/issues/736, https://github.com/platformio/platform-espressif32/issues/616
160+
89161
## How to build the precompiled library
90162
91163
```bash

0 commit comments

Comments
 (0)