After upgrade to Kicad 7 all system libraries are lost

Hello,
after installation of Kicad 7, there is no symbol library in editor.
Going to preferences->manage symbol libraries, I see all the libraries with ${KICAD_SYMBOL_DIR}
instead of ${KICAD7_SYMBOL_DIR}. But I´m not able to change.

Can anybody help?

Wolfgang

1 Like

How much experience do you have with KiCad’s library system?

I assume the new libraries for KiCad V7 are installed, but the lib tables point to some older and non existent libraries.
The quickest way to recover is probably to exit KiCad, then delete (or better rename) KiCad’s configuration directory and start it again. Then KiCad assumes it is started for the first time and it generates the configuration directory anew. Then read KiCad’s messages carefully and make sure you answer with Yes or OK if KiCad asks you whether it should generate the library tables.

The FAQ article below was written for V5, but probably most is still relevant for KiCad V7.

What is your OS?
This matters for this issue

Hello,

my sytem is Apple MacBook M1 with Ventura 13.2.1
I can of course manually select library in manager one after the other - but I think this will last some years :slight_smile:
Where can I find configuration directory?

2 Likes

Nothing helps. I even renamed sym-lib-table. No success.

There is nothing we can do with a response like that.
Read the article below, then try to make a better response.

http://www.catb.org/~esr/faqs/smart-questions.html

Well,

  • I close KiCad
  • In /Users/wolfgangdomroese/Library/Preferences/kicad Rename folder “7.0” to “7.0_old”
  • Start again KiCad
  • when prompted “How do you want to configure…:” I answer “With standard settings” (what is pre-selected)
  • Open a project
  • start schematic editor
  • when prompted “configure global symbol library table” I keep “Copy default symbol library table (recommended)”
  • After OK I want to place → add symbol
  • lot of errors are dsiplayed like
    Errors loading symbols:
    Error loading symbol library 74xx.
    Library file ‘${KICAD_SYMBOL_DIR}/74xx.lib’ not found.
    Error loading symbol library 4xxx_IEEE.

I’m doing the same as I read / type.

On my Linux box:

paul@cezanne:~/.config/kicad$ mv 7.0 2023-02-22_7.0

Start KiCad, and “Start with default settings”:

image

“Automatically check for plugin updates” → No!

Open project, start schematic editor (Just as you did).
"Copy default global symbol library table (Recommended) → [OK]

image

So up to there it’s the same.
However, when you go to: Schematic Editor / Preferences / Manage Symbol Libraries then I have paths listed under the $(KICAD7_SYMBOL_DIR) environment variable. How does this look on your PC?

In: Schematic Editor / Preferences / Configure Paths I also have the KICAD7… environment variables. These variable names should match the library tables.

image

You could manually edit the variables to make them match, but it may be some problem with how KiCad installs itself on the fruit OS. I only use Linux myself and don’t now details about that.

Another thing you can and should verify is that the libraries themselves are installed.

Please also attach the output of the version panel: Help > About KiCad > Version so that we can know which installation image you used.

I suppose the libraries are installed. I find them here:
/Applications/KiCad/KiCad.app/Contents/SharedSupport/symbols
After re-starting KiCad, the symbol library manager shows: (sorry I did not know, I can copy and paste bitmaps)

Even though, I do not use old settings, the Libraries are set to wrong path (but KICAD7_SYMBOL_DIR is ok) and the wrong format

Well, I reset one library manually and did the following workaraound:

  • open /Users/wolfgangdomroese/Library/Preferences/kicad/7.0/sym-lib-table with editor
  • replace “KICAD_SYMBOL_DIR” by “KICAD7_SYMBOL_DIR”
  • replace “.lib” by “.kicad_sym”
  • replace “Legacy” by “KiCad”

NOW IT WORKS except that some few libraries do not exist. I will delete them. But there may be some libraries missing, that are new in 7.0?

Application: KiCad Schematic Editor arm64 on arm64

Version: (7.0.0-0), release build

Libraries:
wxWidgets 3.2.1
FreeType 2.12.1
HarfBuzz 5.3.1
FontConfig 2.14.0
libcurl/7.86.0 SecureTransport (LibreSSL/3.3.6) zlib/1.2.11 nghttp2/1.47.0

Platform: macOS Ventura Version 13.2.1 (Build 22D68), 64 bit, Little endian, wxMac

Build Info:
Date: Feb 12 2023 10:56:31
wxWidgets: 3.2.1 (wchar_t,wx containers)
Boost: 1.80.0
OCC: 7.6.3
Curl: 7.77.0
ngspice: 38
Compiler: Clang 13.0.0 with C++ ABI 1002

Build settings:
KICAD_SPICE=ON

This is totally weird because .lib is a v5 format. It looks like somehow you got a v5 table.

I wonder if the migration process starts from v5 config in preference to v6 config if found.

From your screenshots, the libraries all use the $(KiCAD_SYMBOL_DIR) path, but in the Path Substitution that environment variable points to nothing, so it can never find those libraries.

Those libraries are also from some old KiCad version and in “Legacy” format.

I don’t really know why this happened on your system or how to update to newer libraries.

The update to KiCad V7 appears to be a bit bumpy.
My KiCad V7 installation is now dated 2023-02-21, and I think I got an update yesterday without the version number changing. I certainly had KiCad V7.0.0 before yesterday.

Renaming the configuration directory should have cleared links to those old libraries, especially when you combine it with “Start with default settings” as you did. So I am a bit puzzled for the reason it does not work for you.

Application: KiCad x86_64 on x86_64

Version: 7.0.0-da2b9df05c~163~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.10.1
	HarfBuzz 6.0.0
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux Mint 20.3, 64 bit, Little endian, wxGTK, xfce, x11

Build Info:
	Date: Feb 21 2023 12:56:05
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.5.2
	Curl: 7.87.0
	ngspice: 38
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:
	KICAD_SPICE=ON

The symbol-libraries do work now! But with footprints, I can not solve the problem the same way.
It shows the same problem:

But I am not able to select the new foot-print library manually - to see, how it must look! In file-Selector I cannot open “/Applications/KiCad/KiCad.app” as I could when selecting symbol-library.

What to do now?

I replaced KISYMOD by KICAD7FOOTPRINT_DIR. It works.

I’m glad it works for you now, but it’s not a “neat” solution to keep on using libraries that are several KiCad versions behind. You could verify whether recent libraries are actually present on your system, and try to make use of them.

Normally KiCad should do this by itself, for example have you recently seen the dialog below:
image

When you confirm this (And the other one, posted earlier for the schematic symbols) should configure KiCad to use the libraries for the same version as KiCad itself.

It may be some kind of packaging problem for your OS, and I can’t help with that.

No - I’ve not seen this for footprints.
In fact it’s a workaround, what I did. I should re-install all libraries.
Bu how?

I had to repair my installation after upgrade to 7.0 (see here: After upgrade to Kicad 7 all system libraries are lost).

I had to edit sym-lib- and ft-lib-table manually. But in fact, table and libraries in installation directory do not show the same. I had to delete some entries and some other will be missing.

How can I renew / recreate the two -table files to let them correspond to available libraries?