top of page

Xilinx SDK Internal Error: The folder "C:\....\.metadata" is read-only

Updated: May 14, 2023



This post discusses the Xilinx SDK Internal Error: The folder "C:\....\.metadata" is read-only.


Quick Workaround


Remove spaces in your paths and keep your path to 260.


The subst [doc] command can be used to shorten paths.



Version


Found this using Vivado 2018.2 and the built in 2018.2 SDK available at [link].



Discussion


After following Example Project: Creating a New Embedded Project with Zynq SoC in the Zynq-7000 AP SoC: Embedded Design Tutorial @ [link] I got this error:

...on 3. Select File > Launch SDK on page 24:

I had named my Vivado directory:


C:\Users\pfefferz\vivadoprjs\Design for ZC702 Rev 1.1



Online Resources

Googling this issue:

  • Spaces in file/folder names @ [link] from 2011, radix99, a Visitor, says, "they say don't use spaces"

  • issues relating exporting the hardware to SDK @ [link] from 2014, aher, a Xilinx Employee, says, "please remove all spaces"

  • Vivado 2018.2 and spaces in file name sof folder names under windows 10 @ [link] from 2018, hemangd, a moderator says, "consult UG895 available @ [link]"

  • (related) Windows path length issues: any plans to fix? (AR#60856) @ [link] from 2016, bwiec, a Xilinx Employee, says "Yes, we are aware of this issue and I know the software teams have been working on it."



Vivado Docs


In the 2018.2 version of UG895 @ [link] the section called Vivado Naming Conventions on page 125 lists:


Introduction


The following are the required naming conventions when working with the Vivado® Design

Suite. Failing to follow these naming conventions might introduce potential risk to the

design or the tool, and cause unpredictable behavior in the design flow.

  • Source files names must start with a letter (A-Z, a-z) and must contain only alphanumeric characters (A-Z, a-z, 0-9) and underscores (_).

  • Output files names must start with a letter (A-Z, a-z) and must contain only alphanumeric characters (A-Z, a-z, 0-9) and underscores (_).

  • Project names must start with a letter (A-Z, a-z) and must contain only alphanumeric characters (A-Z, a-z, 0-9) and underscores (_).

  • Project directory names must start with a letter (A-Z, a-z) and should contain only alphanumeric characters (A-Z, a-z, 0-9), tilde (~) and underscores (_).


CAUTION! The Windows operating system has a 260 character limit for path lengths which can affect the Vivado tools. To avoid this issue, use the shortest possible names and directory locations when creating projects, defining IP or managed IP projects, or creating block designs.


The following characters are not supported for project, file, or directory names:

  • ! # $ % ^ & * ( ) ` ; < > ? , [ ] { } ' " |

  • tab (\t)

  • return (\r)

  • new line (\n)

  • / or \ (As part of the directory or file name rather than as a path delimiter)

The following character is not supported for directory names:

  • . (dot as terminal character)

The following character is not supported for file or project names:

  • @

Note: In the Vivado IDE, the @ character is not supported for new file or project names. The Vivado IDE does allow an existing file on disk that uses the @ character to be added to a project. The Vivado IDE can open a project that includes the @ character in the project name. Using the Tcl Console, you can create a project with a name that contains the @ character.


IMPORTANT: Spaces in directory and file names are supported by the Windows operating system. However, you should avoid using spaces in order to preserve portability of the project or files between the Windows and Linux operating systems.


The Vivado Design Suite supports the use of forward slashes (/) as path delimiters for both

Windows and Linux platforms. Backslashes (\) are allowed as path delimiters on the

Windows platform only.


Any characters not explicitly mentioned above are not supported for project, file, or

directory names.


Comment


The IMPORTANT note in bold about spaces in bold does not say spaces are not supported.



SDK Docs


I don't see any mention of naming conventions in the 2018.2 SDK online docs @ [link]



Eclipse Docs


SDK 2018.2 on Windows uses the Eclipse configuration @ [link]. Is this an Eclipse issue?



More Debug


In Vivado the following message is listed:

It looks like this may simply be passing the workspace path without quotes, but when I tried calling the same with quotes:

I also got the same error.


I also tried:

...this launched the SDK, but when the SDK runs Initializing s/w repositories I get the following in the SDK Log:


Conclusion & Guidance

Just from the small debug I did I saw that there are probably many places where the SDK cannot handle paths with spaces. Therefore I would suggest, as other have, of not using spaces and keep paths to 260 chars.


Tip: you can you the subst DRIVE: PATH CMD to shorten paths.


Happy Vivado and SDKing!



References

bottom of page