Build error caused by reserved character in package name

Hi,
For more details, please read my post: M5Stack boards package for Arduino causes compile errors.

The Arduino IDE v 1.8.19 reported a build error. File not found. My investigation revealed that the M5Stack package Version name ("C:\Users\\AppData\Local\Arduino15\packages\m5stack\hardware\esp32\2.0.5+1.0\...) contains a '+' character. I read that the '+' character is not a 'reserved character for the Microsoft NTFS filesystem, however it is for the FAT12, FAT16 and FAT32 filesystems. That is probably why installing the M5Stack board package did not result in an error, but building my sketch however resulted in the 'file not found' error.
Replacing the "2.0.5+1.0" version by a "2.0.5-1.0" version of the package, solved the problem.

My question now is: what has to change to prevent build errors in the future:
a) creators of hardware packages have to be informed to no use a '+' character in package (file) names, or;
b) the maintainer of the build (compiler? / linker?) software has to adapt that software to accept the '+' character in package/file/folder names.

Yesterday, when using Arduino IDE V 2.0.3, the IDE suggested to update the M5Stack board package to version "2.0.5+1.0" while version "2.0.5-1.0" was installed. With my experience explained above (and in the referred post) I did not install the 'update'.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.