Skip to content

Board package installation fails when user profile is stored at a junction folder #2658

Closed as not planned
@a-nanasov

Description

@a-nanasov

Describe the problem

Arduino IDE is storing hardware packages in the folder C:\Users\<username>\AppData\Local\Arduino15\packages\arduino\hardware. If this folder or any of its parents is a symlink (or junction in Windows terminology), then Boards Manager fails to install and load existing board packages.
And Arduino IDE log contains the following entry during startup:

ERROR Detected an error response during the gRPC core client initialization: code: 9, message: Error loading hardware platform: following symlink c:\Users\<username>\AppData\Local\Arduino15\packages: EvalSymlinks: too many links

To reproduce

  • Run cmd.exe with administrator privileges
  • Create a junction for packages folder:
    mklink /J "C:\hardware" "%USERPROFILE%\AppData\Local\Arduino15\packages\arduino\hardware"
  • Run Arduino IDE and install any board package using Board Manager
  • Ensure the installed package wasn't installed and not available

Expected behavior

  • A new board package is installed and available
  • Failed board packages installation should fail explicitly and show an error to the user
  • IDE allows to use a custom directory for storing its settings for cases when a user profile is stored in junction folder and cannot be used for storing board packages

Arduino IDE version

2.3.4

Operating system

Windows

Operating system version

Windows 11

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions