KiCad losing schematic symbols

Hi everyone!
I guess somebody else had this problem in the past. I create a project with KiCad. I save it, i can open it without any problems. But problems will occur in the following cases:
1.: You try to open this project on an other Computer or with another operating system, where some of the used libraries are not installed.
2. You update the installed libraries.
In this cases KiCad wants to update the symbols of the schematic. If no fitting parts are found, in the schematic is only a question mark <?> visible. Thats a really big deficit of KiCad. In some cases it’s only annoying, in other cases it makes KiCad unusable. Especially for professional development. EVERY other EDA software I know creates a copy fully automatically of EACH used part within the schematic and the PCB. This is a fatal mistake of the development of KiCad I think. It would be great to implement this automatism within the near future.

Yeah, it will be a major part of version 6. Just like the footprints are now part of the board file.

Meanwhile you have to learn to use the symbol cache file. It is automatically created by KiCad and can be used like any other symbol library.

1 Like

There is a file yourproject-cache.lib that must be included in the project you send. It works no matter the operating system of the other computer.

I disagree with part of this statement. This library is a special library not intended to be edited or otherwise directly interacted with by the user.

This library is used as the source for symbol information by the rescue process. The rescue dialog will come up automatically if there is a change between what is in the cache lib and your libraries (either because you changed your libs or the computer you use now does not have the same libs setup.)
Or if a symbol referenced by the schematic is no longer present in the library it should have been in (Example if the lib is missing completely or is not added to the library table.)

When rescuing symbols kicad will copy the symbol from the cache library into the rescue library and update the reference in the schematic (In v4 the symbol name got change to include the fact that it is rescued, in v5 the library pointer is updated.)


TlDr: See the cache (and rescue) libs as part of the schematic file(s). Include them in every backup or when sending the project to somebody else. Do not edit or otherwise tamper with these files unless you really know what you are doing.

1 Like

It’s true that it’s not intended for that and it’s purpose is to enable rescue process. But unless I’m mistaken (haven’t tested this in a while but it seemed to work in v4) it’s format is exactly same as any other library so if you rename a copy of it and add it to your project you are guaranteed to have all symbols. In v5 you probably will still have to go through remap because it stores library name and it will change, but it should be trivial.

While, yes, the file format of the cache library is the same as the .lib files, it doesn’t contain any of the .dcm information. That part is embedded within the schematic along side the user updated things like value, footprint, and any other fields added to each individual symbol.

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