util/atomi.h: No such file or Directory

Hello everybody, this is the error message that appears to me:


Arduino:1.8.10 (Windows 10), Scheda:"Arduino/Genuino Uno"

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\CDC.cpp:19:10: fatal error: util/atomic.h: No such file or directory

#include <util/atomic.h>

^~~~~~~~~~~~~~~

compilation terminated.

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp:29:10: fatal error: util/atomic.h: No such file or directory

#include <util/atomic.h>

^~~~~~~~~~~~~~~

compilation terminated.

Più di una libreria trovata per "Servo.h"
Usata: C:\Program
Più di una libreria trovata per "IRremoteInt.h"
Usata: C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote
exit status 1
Errore durante la compilazione per la scheda Arduino/Genuino Uno.

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"


It tells me that I have multiple Servo.h and IRremoteInt.h libraries, but I tried to delete each library and reinstall only theirs and still gave me this error.
Then for the "util / atomi.h: No such file or Directory" problem I don't know what to do.
Initially it gave me the problem on the DCD.cpp and so I tried to put an updated code, but nothing.

What would you recommend me to do?

Thank you and good day

You should have that file in:
hardware/tools/avr/avr/include/util/atomic.h

You could try installing the new IDE version: 1.8.11

OK thanks.
I updated the Arduino version and it no longer gives me any problems on the Servo.h library.

But now I see another papyrus of error messages for the IRremote.h library:


C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH(int, int)':

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:57:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]

else

^~~~

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:59:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'

return passed;

^~~~~~

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_MARK(int, int)':

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:83:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]

else

^~~~

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:85:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'

return passed;

^~~~~~

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_SPACE(int, int)':

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:109:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]

else

^~~~

C:\Users\creva_nrmbgww\OneDrive\Documenti\Arduino\libraries\IRremote\IRremote.cpp:111:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'

return passed;

^~~~~~


I have already tried to uninstall the library and put a new one, but nothing.
What should I do?

Those are warning messages and do not stop the build. You will just have to trust the author of the library that what the compiler sees as a potential problem is what they intended to do.

In this particular case, it looks like the author of IRremote.cpp mixed tabs and spaces to indent their lines. That's one of my personal pet peeves (use either tabs or spaces, not both).