KiCad 6: Footprints not found [RESOLVED]

Hi, New user here. I recently installed KiCad 6RC1 on OS X.

I had previously installed a 5.x version but hadn’t used it beyond firing it up and deciding I couldn’t live with the non-standard pointer behavior in EESchema. Version 6 is much better, thanks!

After much searching and experimentation, I figured out how to migrate the old symbol files. Had to add a KICAD_SYMBOL_DIR env var that that pointed to the library directory from version 5 and then
set KICAD6_SYMBOL_DIR to the same path. At that point I was able to select all the items in the Manage Symbol Libraries window and run Migrate Symbols successfully.

That worked well enough that I can now find and add symbols to schematics. However, when I select a symbol to add, the footprint pane in the Choose Symbol window always shows “Footprint not found”.

As I understand it, the footprints are all located in the modules/ folder under sub-folders with the extension “.pretty”. I found the directory and set KICAD6_FOOTPRINT_DIR to point to it but it didn’t help.

What else do I need to do?

Here are my current path settings copied from the Configure Paths window:

KICAD6_3DMODEL_DIR	/Applications/KiCad/	
KICAD6_3RD_PARTY	/Users/mellis/Documents/KiCad/6.0/3rdparty	
KICAD6_FOOTPRINT_DIR	/Users/mellis/Library/Application Support/kicad/modules/	
KICAD6_SYMBOL_DIR	/Users/mellis/Library/Application Support/kicad/library	
KICAD6_TEMPLATE_DIR	/Users/mellis/Library/Application Support/kicad/template/	
KICAD_FOOTPRINT_DIR	/Users/mellis/Library/Application Support/kicad/modules/	
KICAD_SYMBOL_DIR	/Users/mellis/Library/Application Support/kicad/library	
KICAD_USER_TEMPLATE_DIR	/Users/mellis/Documents/KiCad/6.0/template/	

Version & OS info

Application: KiCad

Version: (6.0.0-rc1-307-gc186d1f319), release build

wxWidgets 3.1.5
libcurl/7.64.1 SecureTransport (LibreSSL/2.8.3) zlib/1.2.11 nghttp2/1.39.2

Platform: macOS Catalina Version 10.15.7 (Build 19H1419), 64 bit, Little endian, wxMac

Build Info:
Date: Dec 3 2021 04:20:33
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.6.0
Curl: 7.64.1
ngspice: 35
Compiler: Clang 12.0.0 with C++ ABI 1002

Build settings:

Hi, do you see list of available footprints in symbol editor -> (E)dit -> Click on footprint icon. Do you see a list in oval-marked area?

I do not have much time for exploring, but in case you don’t have any fancy preferences set, or bunch of custom libraries, the quickest way to set up new kicad would be to run v5 and v6 uninstallers, uninstall everything completely, when look at environment variables and delete all related to kicad, when clear %appdata% (as it is called in windows)(or, better - make a backup of that folder, in order to keep your preferences), when, go to bin dir and remove everything related to kicad. When download pull v6 installer, install, and have averything set up automatically by installer it self. (If recall correctly, I have tried full installer on windows and probably everything was fluent).

Thanks! On my system, the Footprint Library browser shows a blank pane for all components even the though the sym file has a defined footprint id.

Looks like I need to (re)define KISYSMOD to point to the footprints directory. If that doesn’t fix it, your suggestion of a complete uninstall/reinstall sounds like a good idea.

Yup that seems to have been the problem. Is it worth reporting this as an issue? Seems like KiCad 6RC is ignoring KICAD6_FOOTPRINT_DIR, at least on OS X, and requiring KISYSMOD instead.

1 Like

It’s not ignoring it, and re-installation doesn’t fix this. Most probably the problem is that the user has old fp-lib-table file in the user configuration, inherited from an older installation. That fp-lib-table has KISYSMOD (literally that text) in it. KiCad itself doesn’t require any specific variable name. It just finds variables in the fp-lib-table if there are any and replaces them with their defined values from Path Configuration.

Thanks for the explanation! Can you point me to the authoritative documentation for KiCad 6 environment variables and configuration?

Here is how default three KiCad main window’s “Preferences” should look like after default (working) installation, just try to match these paths:


It will do, if user clears appdata, environment variables (uninstaller does not do this) manually. Also, manually wipe everything from bin (“program files” on windows) dir, just to be sure to save space (no leftover BOM scripts or libraries). Fresh installation will make everything right afterwards (at least works on windows).

Installing v6 alongside with v5, and answering “yes”, when prompted “do you want to import configuration from another kicad version” at start will screw up library configuration, because it will import old lib table (which will be read only, will need to be migrated somehow from pcbnew menus (not so trivial, as tried several months ago), or something like that).

I have spotted recent commit (last week or so) which stated something about “do not ask to import old flibtables”, so probably fresh nightlies does not even try to import v5 libraries at all (which is cool in my opinion).

It is much more easier to start from fresh full installation (have up to date stock libraries as a bonus), and backport some settings (hotkeys, for instance) from some files found in v5 appdata folder, if made backup before wiping out.

EDIT. Sorry, missed the point, that poster has already fixed the issue :), all this post can be discarded :slight_smile:


Well, fixed in a hackish way. Since I don’t yet have any significant work or special configuration in KiCad I’m thinking it makes sense to scour my drive clean of both versions and re-install from scratch. I did make the mistake you mentioned (accepting the import prompt).

But before proceeding I’d really like to have a clear understanding of KiCad 6 configuration files and rules. From what @eelik wrote, it sounds like the various environment vars have no significance beyond being path names for shell substitution. Is that really the case?

I found the fp-lib-table on my system and, as @eelik indicated, almost every line contains (uri ${KISYSMOD} ... ).

The symbol/footprint library tables are basically just a list of library names and the directories in which each library can be found. Typically each path is defined with “environment variables” but that is not required (it is true in the default library tables, and I’m saying “environment variables” in quotes because the ones you’re asking about are defined within kicad and not in the external environment.)

@eelik is correct that the variables don’t have any special significance except for path subsitution. None of the variables are sacred, you can set it up however you want, but it’s worth understanding the ones that are used by default because you’ll have a bad time if you mix and match them (as you’ve seen :slight_smile: )

  • $KISYSMOD points to the system footprint directory in v5 and below. Nothing stops you from using this in v6, except that it probably points to where the v5 libraries are or were installed, which probably isn’t what you want. If you have this in your library table, you’re almost certainly using a v5 library table, and that’s probably not what you want.
  • $KICAD_FOOTPRINT_DIR same description as $KISYSMOD, but I’m not sure when this was used versus $KISYSMOD. In any case I believe it was also used for v5 libraries.
  • $KICAD_SYMBOL_DIR same as above, but for v5 symbols.
  • $KICAD6_FOOTPRINT_DIR the default variable that’s used to point to v6 footprints; this is the one used in the default footprint library table for v6.
  • $KICAD6_SYMBOL_DIR same as $KICAD6_FOOTPRINT_DIR but for symbols.

You can see it has been a bit of a mess, but the situation is improving for future versions by making it obvious which variables are meant for which versions…

You shouldn’t need to uninstall v5 as long as you’re careful when you’re installing v6:

  • install v6 libraries
  • on first open of kicad, when you’re prompted to pick which library tables to use, choose the default tables. Do not pick a custom table unless you know exactly what you’re doing, and don’t choose to use a table from a previous version.

In fact, if you’ve definitely installed the v6 libraries, you don’t need to reinstall v6 either. I would recommend just deleting/renaming your kicad preferences and opening kicad, which should prompt you again to choose which library tables to use. I believe that would be /Users/<username>/Library/Preferences/kicad/6.00 on MacOS, but I can’t verify.

Reinstalling often doesn’t solve the problem, because it doesn’t clear your preferences, which is often what’s needed to easily fix these library issues…

@poco, @eelik, @gkeeth,
I reinstalled yesterday’s unified nightly after a thorough search and destroy. I took the default configuration and, voila, it all seems to be working nicely. Thanks much for all the patient help! I’m marking this RESOLVED.

BTW, there’s a nice post by @eelik from 2019 in the FAQ about configuration files. Seems worth updating and expanding for KiCad 6 if you have the time.

1 Like

But it was updated and expanded already!

1 Like

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