Symbols from my Library are removed and put into a new "rescue" library

Hey,
I stored all my librarys on the server of our company. Last Week i drawed a scematic for a Project. Now i wanted to use the library in which I added some symbols last week for a new project. The Library shows up in the Manager, but instead of about 20 different symbols there is only the “LOGO” left. All the other symbols are put in a library named “ProjectName from last Week-rescue.lib”.
Last weeks project and the new one are pretty similar and so i copied the whole folder and renamed it. (Thats why i guess the librarys same contains the last weeks projects name"

Of Course now the Symbols in the new scematic have problems with their names, they contain “?”

Can anybody tell me how i can get my Library (the original one) back and have all the symbols in there, instead of inside the “ProjectName from last Week-rescue.lib” ?

And how can i avoid this problem in the future?

Thanks
Greetings Hannes

There is also a long standing bug related to network shares:

In KiCad-nightly V5.99 (Already KiCad V6.0.0 rc1) schematic symbols are made part of the schematic itself and these [ ?? ] should become a thing of the past.

1 Like

thank you verry much. I will ask if we can do some updates, since we are using 5.1.10

Even if your company doesn’t want to trust a Release Candidate version of software, v5.1.12 was recently released squashing some (unrelated to this) other bugs.

Who wrote this? It’s gibberish. What does it mean? Is it Google Translate?

If you click on the link you see it was written by Rene Poschl.
It’s not gibberisch but I do agree the word choice in that introduction is a bit … unfortunat.

Part of the reason why the quote sounds so bad is because it smushed the section heading “The purpose of the cache library” up against the first sentence of the paragraph to make a nonsensical run-on sentence.

Here’s how I would describe it:

Suppose that Person A has Library X installed on their computer. Person A creates a KiCad project. Then they give a copy of the project to Person B. Person B does not have Library X installed on their computer. Without the cache library, the project would be incomplete, since the symbols from Library X would be missing.

Every symbol used in the project (regardless of whether it comes from a local or global library) is copied into the cache library, so that the project will be self-contained, regardless of what computer it is opened on.

When a forum post is linked to in another post it looses its formatting, so the quote you see in this thread is gibberish, but it’s pretty clear in its original context. Whether it’s easy to understand is another matter. I’ll add the fourth description…

Symbols in a schematic in KiCad version 5 and below are only links. Actual symbol descriptions are in other files, in libraries. A schematic is strictly tied to libraries; the libraries are part of the schematic. The cache library is automatically added to a project and it has copies of the original library symbols. If the libraries which are explicitly mentioned in the schematic are not found for one reason or another, the information is still in the cache (unless somebody has messed with it!). If both the original libraries and the cache library are lost, KiCad can’t show the symbols at all. Instead it shows “??”. Renaming libraries without updating library links in the schematic causes problems. If the original library is lost but the cache found, KiCad tries to rescue the symbols by creating a rescue library. Then it automatically updates the symbol links in the schematic to point to the rescue library instead of the original libraries.

It can be seen even without personal experience that this is overly complex and fragile system especially for sharing schematic files. Therefore it has been changed for version 6. When a symbol is placed into a schematic it is actually copied there. Updating a changed symbol from a library happens only by user’s explicit action. A schematic file is now standalone.

1 Like

Stuff in the FAQ should be editable by anyone with sufficient ‘cred’.

The Solution for me was to create a new library, copy all symbols in there and save the knew library on a repository. We now simply can commit the library after we changed something to the repository and always get the newest version from it if needet.

Seems to work fine
Thanks Hannes

1 Like