Libraries emptying themselves

OK, it coincides with an update to the latest version. But a mornings work and more has vanished!!!

What is going on? I simply cannot use a program where when I come to open a project I find components are missing and when I look in the library for the parts I just created the are gone!!!

Did you by any chance store personal stuff into system libraries? If so on which operating system are you? As it should not be possible with a standard installation to save changes to system libs. (You should not have write access as the system libs should belong to your operating systems administrator and KiCad should not run under administrator rights.)

Should this be the case then i have bad news for you. This is a irreversible mistake. (you can restore the assets that you used in projects but the ones you never used are now gone forever.)


Another option is that you used system path variables and selected to overwrite them in the update process. The only operating system where i think this can happen is in windows. And there it only happens if you select “set environment variables” in the installer (Should be deactivated by default since version 5.) If you did indeed do that, then delete the environment variables from your registry and the KiCad internal variables (the ones you set) should be used again. (registry variables have higher priority then KiCad internal variables.)

To be clear: the KiCad libraries are files in the filesystem, so if the files are still there it’s easy to add them to the library tables. Also the official libraries can be re-installed easily. Only if you have deleted symbol or footprint files which you have made or edited and don’t have backups, something irreversible may have happened.

Just to make you feel easier, because in a panic someone often reads only the “bad news” part…

Diff._Choke.lib (1.1 KB) Diff._Choke.dcm (332 Bytes)

these files have text in them that suggests there are parts but none show in KiCad. I do not use any of the KiCad original installed libraries. I point everything to my own libraries. Many are just copies but i maintain them. So i have files full of text that looks like my parts but vanished in the library editors.

i have a footprint folder with footprint files in it but apparently empty. I have found it impossible to delete the standard library paths.

Is there really a dot after Diff in the file name or was that produced by the upload? If there is then try and remove that dot.

Because you use your own libraries in custom locations this shouldn’t matter.

Can you give some screenshots?

  • Preferences -> Configure Paths (resize so that every row is visible)
  • Preferences -> Manage Symbol Libraries / Global Libraries
  • Preferences -> Manage Symbol Libraries / Project Specific Libraries

And what is the path to your libraries which KiCad doesn’t find?

So basically I installed the latest kicad. Then opened projects and got warnings about recovering files from the cache in the project. if I go to the library in the symbol editor it’s empty so that library I posted is there in name but empty. I have just removed it from the library table and reloaded it and eschema has not asked to use a backup of that part again and it is in the library editor now. So basically it seems that all libraries I worked on this morning need reloading.

I will try deleting everything from my library tables and reloading by really this is a constant problem with kicad and i am always scared of loosing my libraries.

when I open eschema it can’t find a load of library files.

could you take a bacup of the lib table before you do this? and then post the backup and the working one? my guess is that something must change between them.

How do I do that? Is there also a way to edit the paths somewhere that actually works?

The lib tables are human readable files found on different places depending on operating system. See: Where are the configuration files (settings, library tables)?

Copy the sym-lib-table file to some backup location, then do your changes and run a diff over it (or post both of them here)


Of course if you already made your chances then we can only guess what was the problem.

Well I only replaced one library, the others that are there but not found will still be there. This is on my work computer. i will do it tomorrow as I am not at work today.

On my home PC they work but KiCad has changed the path designator of the 3D models in one library and i had to edit them back. I don’t know what kicad thinks it’s doing. Why change paths?

I’m sorry, but this discussion doesn’t move forward. I feel that you hide information each time you say something. KiCad behaves in a well reasoned, logical way, even though it’s not the easiest possible to understand. You tell about new problems (now 3D) without giving us enough information to solve the old ones.

The FAQ section has enough information to solve these problems. I understand it’s too much in a short time if you don’t understand the details already. But have you tried to understand how the library system works? If you do understand it, I believe you can solve these problems without our help. I believe there’s nothing strange going on with your setup.

If you’re not willing to invest time to read and understand the relevant FAQ threads, at least give us what you’ve got on your system. I already asked for screenshots. Another option is to give the content of the configuration directory (Rene gave a link to information about where that can be found) and maybe some example project (the contents of the directory) which is problematic.

As i explained I do not have access to that PC today. I will probably be back in work tomorrow and will get a copy of the library table before and after.

I can’t help it that KiCad behaves strangely. The 3D models were apparently to be found in the user template dir, this is ridiculous. I have my own system path to the 3D models. i would never use the default user dir path shortcode but that is what appeared in libraries that I know where properly linked to the model. I can only say what I have observed.

A kicad update should not change existing footprints unless they are stored where kicad expects its system libs to be stored.

So could you give us the value of the 3d settings you expected vs what is now in there?

In general: the best option is always to give the full details about what one expects vs what one got (letter for letter no shorthand or … or chars left out, you can also format it as “sourcecode” using the forum syntax.).
And if you get an error message copy it letter for letter in full.

Here you go, i found another one:

the path variable i use is: ${SL3DMODEL} As you can see the model is missing. I always make sure the model properly links, It’s hard to not see if the model appears as if you put the right path in it appears and i actually pick the model, and yes nothing.

${KICAD_USER_TEMPLATE_DIR}/3DModels/WE_CBF_inductors.3dshapes/WE-CBF-1812.stp

should be: ${SL3DMODEL}/WE_CBF_inductors.3dshapes/WE-CBF-1812.stp

And fixed:

What does KICAD_TEMPLATE_DIR point to? is it possible that at any point in the past your 3d models were below whatever that variable pointed to?

KiCad will always replace the path with path variables if possible (true for every part that uses file paths). But only at the time instance of adding the 3d model path to the footprint. Never at any later time instance.
I think some past versions took the outermost path variable available for the target directory. which means if you have setup a/b/c/d/x.y and have variable {alpha}=a/b but {beta}=a/b/c/d then you might still end up with path ${alpha}/c/d/x.y instead of {beta}/x.y (not sure if this got fixed already)