Cache.lib Generation for Migration to Kicad 6

I’ve just started at a company and its fallen on me to move their projects from Kicad 5.1.4 to 6.0.5. They were aware that I haven’t used Kicad prior to starting here… I am looking forward to learning it though.

Almost all of the projects are complaining upon opening the schematic that “The project symbol library cache file ‘…-cache.lib’ was not found.”

Looks like these cache.lib files are required for migration and then all of this information will be stored in the schematic files.

About half the projects have missing components if I “Load Without Cache File”, with one completely breaking the top sheet of the schematics. the other half seem fine.

Is there a way in Kicad 5 that I can force generate a cache.lib file to load when open the project in 6?

This means that someone at that company has been very naughty, and has deleted files they did not know what they were used for.

In KiCad V4 the graphics for schematic symbols was not loaded in the schematic at all, and it was completely dependent on the external libraries. In KiCad V5 the [Project]-cache.lib was added as a cache for when the original libraries were not present anymore. And in KiCad V6, this same information is indeed stored in the schematic file itself, so you can’t loose it anymore.

If you load a KiCad V5 project (without KiCad V5 libraries or the cache) into KiCad V6, then it looks like it tries to map the symbols from the KiCad V6 libraries. It is possible this results in some errors, for example if the pinout of a schematic symbol has been changed between KiCad V5 and V6. To check if there are problems you should:

  1. Run ERC in the schematic.
  2. Schematic Editor / Tools / Update PCB from Schematic
  3. Run DRC in the PCB Editor.

If this flags errors then the options are:

  1. Something may have changed because of symbol remapping between V5 and V6.
  2. There were ERC or DRC issues in the original V5 project.
  3. KiCad V6 flags more errors, so it may flag issues that KiCad V5 did not.

The simplest (and most reliable) way is probably to get a computer with KiCad V5, then open and save the project (and the schematic in the project). This should re-generate the missing [Project]-cache.lib files.

There is a quite big FAQ section on this forum and quite a lot of articles concerning library management:
https://forum.kicad.info/search?q=library%20management%20%23faq

I could fix such issues without much problems, but I can’t give a clear statement of the procedure. It’s a bit of identifying and fixing issues as you go. I do thing that at least for getting started in this you should get some assistance from people who have more experience in KiCad, (But if they deleted the cache files, that is not a good start…).

1 Like

@Talisman

One other point.
The cache libraries are required to open the projects correctly in 5. They are not required for migration to 6. Once the projects open correctly in 5, opening them in 6 then saving is all that is required for migration.

Yeah looks like the cache files were ignored by git. Regenerating them fixed the problem on at least one board.

Thanks!

Hi when I converted they worked but had .cache for each one. Just did a test now with just the V5.sch file. Am using only custom library. (Note: I just use eeschema portion for drawing and never used the other features.)
1: shows opening the .sch file with my V6 Custom library moved. Saved and on re-opening it stays the same. Closed, moved my V6 library back and it opens fine.

2: Shows opening same V5.sch file when my V6 library is in place.

Maybe if you have library you could try, possibly not in path or have to add.
At time thought I also converted my V5 library to V6 library but don’t remember.

Since I have edited V6 with search and replace to correct an issue most likely caused by my incorrect creation of symbols where it would show ~ near symbols. I have .pdf’s of both V5 and V6 and V5 didn’t show. Could turn off in edit but changed all in text editor.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.