7.0.1 upgrading was VERY painful

Just did the upgrade from 6.0.11.
7.0.1 looks nice, but gave me a headache on first install.
My personal libraries disappeared, due to the “first-use” recommendation to import the standard libraries. A better text is needed here, but I found a fix in the end.
Apart from that: well done, I look forward to using 7.0.1.
Downside: it’s still stuck with ngspice 38, which doesn’t solve my problem in a different thread :frowning:

EDIT: Strike all of the above. Migrating my personal libraries to 7 has turned into a total nightmare.
I’ll have to manually add each and every personal library, although they’re in he same location and format as before, and though the PATH parameters are the same as before.

OK, I’ll restore 6.0.11. Until now 7 has brought me nothing, not even a new ngspice.

I don’t remember on what OS you run KiCad, but on mine 7.0.1 has ngspice 39:

Application: KiCad x86_64 on x86_64

Version: 7.0.1-1.fc37, release build

wxWidgets 3.2.1
FreeType 2.12.1
HarfBuzz 5.2.0
FontConfig 2.14.1
libcurl/7.85.0 OpenSSL/3.0.8 zlib/1.2.12 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.3) libssh/0.10.4/openssl/zlib nghttp2/1.51.0

Platform: Fedora release 37 (Thirty Seven), 64 bit, Little endian, wxGTK, KDE, wayland

Build Info:
Date: Mar 10 2023 00:00:00
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.78.0
OCC: 7.6.3
Curl: 7.85.0
ngspice: 39
Compiler: GCC 12.2.1 with C++ ABI 1017

Build settings:

I’m on Ubuntu (actually Lubuntu), so the packages are managed through Aptitude and the latest is ngspice-38.
But that’s more of a sideshow right now, compared to my new experience with v7 personal library handling, which is much more serious.

I remember I had the same painful experience on v6 footprint libraries until I discovered how it is working there, may try if the same way is working on v7 now:

In the library selection dialog you can import all libraries (in v6 footprints) of a folder with opening the folder, not selecting any of the libraries and then press open in the dialog window.

1 Like

I’m not sure what the issue can be, but I do also use Ubuntu and there is absolutely no problem. A bit difficult to restart after a few months on other tasks, but beside that, the V7 move was very smooth.
About personal libs, I store them in a very specific directory that Kicad installer does not remove. Kicad stores in /usr/share
My libs are stored in
And my data is in
~/Develop/Kicad/Projects/[project folders and subfolders]

My previous libraries (in V6) still work, although I didn’t do anything special. I may have
pressed a yes button somewhere if I was asked about migrating, after making backups of course. I don’t remember accurately, but it was mostly painless except some issue with the clearances.


7.0.1 got a second chance, and lo and behold: I found and fixed the issue.The problem is in the
configuration file.

This file is generated during installation with brute force, regardless of whether you choose the “standard” or “custom” tick boxes on startup.

The old
configuration file is not considered at all, and thus the custom libraries disappear from the symbol list. The libraries themselves are still there >wipes brow and takes a deep breath<.

There is no function in 7.0.1 to correct this or to import the old symbol table.
Result: your custom libraries are gone, and you have to add each one manually. Not good, and unnecessary.

The way I found around this was to edit the 7.0/sym-lib-table manually and insert the missing lines from the 6.0/sym-lib-table.

I consider this a bug, or at least user-unfriendly programming.

1 Like

I agree that the approach to configuration where a configuration file comes as given, changing with each software (major) update, and yet includes customizations is not good. It blends two completely different – although superficially similar – things together which causes problems. This is, again, historical baggage. I hope it will be changed in one way or another, for example by nesting

or chaining

1 Like

Yes, the problem is the library tables are monolithic and contain both system configuration and user configuration. In other software one way to handle a mix of configurations is by file inclusion which is similar to the chaining proposal above. For example, on my system, /etc/dhcpd.conf contains as the last line:

include "/etc/dhcpd.d/dhcpd.conf.local";

Then if the system configuration is updated, I don’t lose my local configuration.

Sure, but as the format of sym-lib-table is the same between 6 and 7, appending the custom lines to the new file is not really a big thing, or?
The GitLab stuff always floats on a higher sphere of programming philosophy, I’m just talking about a super-simple function here. A simple script would solve it at a first go.

I just switched to v7 and tested this. you can actually bunch add the libraries again in v7 as you could before, so I don’t understand the fuss here at all.