As a Windows user, you really don't want to know. It's short for "sybolic link". It's something more common in the Linux world. Symlinks allow you to create a link to a file or folder in the file system. This makes it seem like there is a copy of that folder at another location on your hard drive, but it's actually the same folder in both locations. Unlike a copy, it doesn't take up twice the disk space and a change made to the contents of one affects both so you don't need to worry about keeping the copies in sync.
From the screenshot you shared, I can see there is something special about the C:\Program Files (x86)\Arduino folder because it has a different icon from the other folders with that arrow overlayed on it. Do you know what that is? Maybe it's something to do with OneDrive or some other cloud storage service? I don't use anything like that so I'm not very familiar with the subject.
pert:
As a Windows user, you really don't want to know.
I forgot to explain this statement. Windows has never really had good support for symlinks. The situation is improving over time, but they are still not very easy for Windows users to work with, so you won't see them much in the Windows world. However, they do are supported so it's certainly possible that it's a symlink.
pert:
From the screenshot you shared, I can see there is something special about the C:\Program Files (x86)\Arduino folder because it has a different icon from the other folders with that arrow overlayed on it. Do you know what that is?
The folder "C:\Program Files (x86)\Arduino" is a mount point where I have mounted a disk partition so that Arduino has a disk area all of its own, and its files doesn't get physically interlaced with the files of other applications. I do this for all the larger applications/games I have installed. I have never gotten the "EvalSymlinks: too many links" message from any of them.
Is there any way to log a bug report for this? Mount points should be a transparent part of the file system; EvalSymlinks should not be tripping up on them.
OK, this is actually progress. Even though it's not a true solution to your problem, narrowing down the cause of the error is very helpful for the investigation.
You can definitely submit a bug report. In order to do this effectively, it's necessary to understand a little bit about the current development strategy for the Arduino IDE. If you notice the command that was run when you got that error message, you'll see it was arduino-builder. This is a command line tool that manages the dependency resolution and compilation process for Arduino IDE. So this is almost certainly not a bug in the actual code base of the Arduino IDE, which is increasingly dedicated solely to the GUI components that aren't suitable for being handled via a command line tool. So you might think that you should report it to the arduino-builder repository, but there is another wrinkle to the story. arduino-builder is in the process of being deprecated in favor of a more generally useful command line tool named "Arduino CLI". arduino-builder is mostly just a wrapper around Arduino CLI that adapts its command line interface to the legacy interface of arduino-builder used by Arduino IDE. So the correct place to report this is likely the Arduino CLI repository, which is the location of the most active development currently, and thus most likely to get a timely fix for your problem.
But since you are currently using Arduino CLI through two additional layers of programs, there is a possibility that my guesses are wrong and the mount point incompatibility is actually introduced by something in Arduino IDE or arduino-builder. For this reason, you should first verify that the problem still occurs when using Arduino CLI. You can download it here: https://arduino.github.io/arduino-cli/latest/installation/#nightly-builds
One thing to note is that this hardware file location will be in a different place when using Arduino CLI. You can find the location by running this command:
arduino-cli config dump
It is the "directories.data" folder location shown in that output (actually the 'packages" subfolder if you want the specific location). You can also customize the directories.data location if you like. Directions for configuring Arduino CLI are here: https://arduino.github.io/arduino-cli/latest/configuration/
Once you have verified that the bug still occurs when using Arduino CLI, you can submit a bug report here: