Moving custom libraries to a new KiCad version

Hi everyone,

I’m new to the forum, but have been using KiCad for a few years. My primary use is eeschema and I have created a number of custom libraries.

I have Kicad 7 in a flatpak on my laptop (running an older Linux Mint). My desktop has a newer Mint version, 21.3, with an older KiCad, installed from the Ubuntu repo, version 6. In order to work on projects from either computer I installed version 7 on the desktop from the KiCad repo.

The problem is that my custom libraries made in KiCad 6 did not migrate to KiCad 7. After a few hours of google searches and reading forum posts I didn’t find an exact answer to the problem, but using the clues I found I copied ~/.local/share/kicad/6.0/symbols/* to ~/.local/share/kicad/7.0/symbols/, then edited ~/.config/kicad/7.0/sym-lib-table to add the missing library names from ~/.config/kicad/6.0/sym-lib-table. I did some test editing of schematics and symbols and everything seems to be working. I have not been making custom footprints, so have no need to migrate them. My questions are:

Is this an acceptable way to migrate the libraries?
Is there anything I missed? Any hidden gotchas?
Will this method work when upgrading KiCad to later versions?

Thanks,
Mark

Yes, Adding one or two libraries from the KiCad GUI is quite simple and convenient, but adding a lot of them is tedious. I tend to use a software merge program such as meldmerge to merge the sym-lib-table and fp-lib-table files.

Sometimes I rename the whole configuration directory of a KiCad install. KiCad then assumes it is freshly installed and creates a fresh default configuration. Then you can use meldmerge to view and merge settings.

As a precaution I have always exited KiCad before I make such changes. I am not sure how KiCad reacts if these file change while KiCad is running.

1 Like

Thanks.

I agree that it’s better to exit before making changes. From my observations it appears that KiCad reads (at least some) files into memory and writes back any changes when the program is closed, so if things are changed while KiCad is running it will likely overwrite your changes.