How create a symbol library for all items in a schematic?

The demo directory shows that several projects get accompanied with a local library <project_name>_schlib.lib, comparable to good old <project_name>-cache.lib. Accordingly, the local sym-lib-table refers to it.
Is there some documentation out there that describes the creation of this local lib file that looks similar to the cache file? Is it created from the cache file?
Thanks for any help/info…

In some old projects I have renamed the “-rescue.lib” file and then updatet the project to first add that library to the project:
KiCad / Preferences / Manage Symbol Libraries / Project Specific Libraries (tab) / +

And then closed KiCad, opened the schematic in a text edtior and do a search * replace for the “-resque.lib”

You can also view, check and modify library references in several different ways from within Eeschema. The simplest is to hover over a schematic symbol and press e for Edit.

An overview of all the schematic library references can be seen and edited with:
Eeschema / Tools / Edit Symbol Library References

Apart from that, “normal” creation and maintenance of schematic symbol libraries is done with the “Symbol Editor”, which is the icon between Eeschema and Pcbnew in the KiCad Project Manager.

The official manuals, from (“help” in the menu) mention of course also the library management. On my PC it’s in:
… or you can get the pdf from

The offical manuals are quite out of deed, and need a revision. I just read in it:

If possible, keep version 4 of KiCad installed on your system unless you have never used any of the symbol libraries distributed with KiCad.

And there are not many people who keep KiCad V4 still around…

The best up to date manuals on most parts of KiCad are in the FAQ section of this forum.

You might be interested in Project and libary setup for sharing and collaboration

Well, my libs tree are organized such that V4 symbol libs are in a “gitlibs-official4” subdirectory. And corresponding entries into sym-lib-table…
The reason for doing so was that I disliked the rescue feature introduced in V4, but only as an aid to verify if all v4 lib references are restored as intended.

Thanks for the FAQ-link!
What you note in “Special case: Read only access” inspired me to experiment with rescue. I begin with renaming the local as well as the global (~/.config/kicad/…) sym-lib-table by adding a character in order to ensure that any rescueing captures the whole schematic. Afterwards the rescue lib file is renamed according to the project name (as found in the demo directory), as well as its reference in sym-lib-table. Afterwards the global table name is restored. This works. And could be programmed in a script.

However, for read-only cases, e.g. review by third party (regardless kicad version), it would be better if the schematic file offered a flag that can be set to NOT use the rescue process, but instead use the cache file silently. Basically, the resources are available for doing so :grinning:. The rescue project helper would not start and the schematic is shown without any dialogs.

In Kicad V3 this was quite simple. There were no library file references. Which precise symbol was actually shown was dependent on the order of libs entries at the start of the .sch-file. In order to establish simple read-by-reviewer, I only had to add a LIBS:-cache entry at the end of the LIBS:-entry list. That behaved quite like inheritance. Or the notion of precedence of objects with the same name that exist on a local level.

To be precise: an automated way to create a true local project lib file as in the demo’s section is no option for own usage (except for third party review), because the references in the schematic are all changed to that lib file. Hence breaking “inheritance”. Keeping the references intact allows for simpler update of schematic symbols from upstream (e.g. with fixes to minor graphic issues). major symbol changes are normally detected by eeschema, which invokes rescue. At that time I can decide what to do: changing the schematic to accomodate the updated symbol or not. It is always my intention not to rely on a persistent rescue file.

In the new file format (coming with the next major release) this is no longer required as the symbols will be included in the schematic files similarly how footprints are already included.

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