-
-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non-ASCII characters in library installation or cache path breaks library compilation caching #2671
Comments
This comment was marked as resolved.
This comment was marked as resolved.
directories.user
path breaks library compilation caching
directories.user
path breaks library compilation caching
@vvb333007 I've implemented a tentative workaround here: could you try a test build? (you can find at the bottom of this page) |
Well it still recompiles everything. And .d files have cyrillic symbols in some unusual encoding (i.e. not totally damaged as when it is simply replaced with "?"). |
Thanks for testing it! |
Those .d files are directly created by g++/gcc, but for some reason, they are not UTF-8 encoded. To help me, I'd like to ask you:
Thanks! |
Ok, after some research, I may have found the key to solving this issue. Please test this build before, if it works I don't need anything else: https://github.com/arduino/arduino-cli/actions/runs/11362531613 |
Yay! It works. .d files now contain valid cyrillic paths. It reports that it uses precompiled .o files. Great! |
There are no |
That's fantastic news @vvb333007, thanks for your help in debugging this issue! |
|
The only problem with encoding is this lines:
But this does not affect compiling or/and uploading. JFY: lines " |
That line is the output of |
Describe the problem
I am using Windows 10, and my user name is in Cyrillic letters.
Every library gets recompiled every time I press "Compile button" even if no files were changed. This happens because .d (dependencies) files contain wrong path. Example below shows the problem win RTCLib but you can use any library/code to reproduce
I checked .d files in a temp folder and this is what I found inside:
(must be
C:\Users\ֲВячеслав....
)So no wonder that is "up-to-date" check fails leading to full recompiling. Some paths are Ok tho.
PS: All the
.o
and.a
files do exist in temp folder but get recompiled every timeTo reproduce
Setup environment
Demo
🐛 The "Servo" library was compiled from source instead of using cached objects produced by the previous
compile
command.Now we try again, but this time with a
directories.user
path that only contains ASCII characters:🙂 When
directories.user
was changed to a path that only contains ASCII characters, the library compilation caching system worked as expected.Expected behavior
Expected behaviour: not to recompile files which were not modified
Arduino CLI version
c86ca30
Operating system
Windows
Operating system version
Additional context
Originally reported at https://forum.arduino.cc/t/ide-2-3-2-very-slow-compiling/1281480
Additional reports
Issue checklist
The text was updated successfully, but these errors were encountered: