No library "Resistors_ThroughHole" on loading netlist

I’m pretty new to KiCad, and on a PCB I’ve been working on for a couple of weeks, I now get this error when trying to import a netlist in PcbNew

Netlist Load Error
Error loading netlist.
IO_ERROR: fp-lib-table files contain no lib with nickname 'Resistors_ThroughHole'
from C:/Jenkins/workspace/windows-kicad-msys2-stable/src/kicad/common/fp_lib_table.cpp : FindRow() : line 623

This worked before, and appears related to this change:

Hurrah for random cloud changes breaking installed functionality because somebody wants to bikeshed folder names, I guess.

How can I fix this?

This is the danger faced if you are using “live” github libraries: sometimes changes are going to be made.

We try to keep these to a minimum. We also try to improve the quality of the libs. Sometimes these goals compete.

To fix this, find all instances of symbols in your schematic that have footprints that look like “Resistors_ThroughHole:xxxxx” and change that to “Resistors_THT:xxxxx”

You can either do this by hand or in a text-editor.

1 Like

:grinning:

PS: I don’t think the change you linked to is what caused this, as that one is related to the 3D model folder, not the footprint folder names…

If I were to guess it sounds like the footprint association (EEschema/CvPCB) has stored some entries that can’t be found anymore.

PCBnew > Preferences > Footprint Libraries Manager…

Find the footprint library NickName that now contains the Resistors_ThroughHole.pretty or whatever it’s called now.

Then off to EEschema. Start CvPCB. It should have the new NickName that you found out earlier listed on the left.
Is that so?

Now you have to re-assign the footprints which still point to the old footprint library.

2 Likes

@joan_sparky you are right. I should not have been so quick to accept responsibility for this :wink: The referenced change was fixing 3D model paths.

The root cause here is that the project is trying to load a library that does not exist in the library table.

@NickD
If you don’t want life libraries from github.
Because you want to avoid such a problem in the future.
The drawback of this is that you get neither bug fixes nor new footprints.

You can do that with the aid of the footprint library wizard and footprint library manager. (both found in pcb_new or footprint editor under preferences)

First delete all current github libraries from the fp-lib-table using the library manager. (or use a text editor. The location of your global fp-lib-table is operating system dependent. But always somewhere in your user folder.)

Then open the library wizard and select github repo.
The input box should contain: https://github.com/KiCad
Select save local copy to disable the automatic update.
Next you need to browse for a directory where you have write access. (Example your user folder or a shared folder if you have multiple users on this machine.)
Press next.
There should now be a list of all possible libraries.
Use select all or only select the ones you want. (This decision is yours.)
Finish the dialog. (The next window only has status information.)

These local copies will not update automatically. You need to do the same thing again if you want newer libraries.

@SchrodingersGat - I apologise for attributing you the blame. I found the .pretty folder and assumed it was the match. It seems if anything, you were responding to upstream changes to ensure consistency.

Thank-you for the advice on how to fix this.

Is the fp-lib-table libraries list in pcbnew updated automatically? Because it would seem the Resistors_ThroughHole repository was actually renamed - I have no idea where it would get the name from otherwise…

As for “wanting” these changes - as far as I’m aware this is the defaults it was installed with?

Edit: Oddly, it was a resistor array that I only added and associated in CvPCB last night - several minutes before saving the netlist and attempting to import it with PCBNew. So whatever went on, it seems the “cloud” update happened in the middle of working.

Kicad pulls the footprints libs directly from github everytime it needs them.
These times are: (I bet there are more)
opening cvpcb
doing a netlist import (or pressing update pcb from schematic in nightlies)
opening the footprint editor