Problem upgrading v6 to self-compiled v7 on Ubuntu 22.04

I have a similar error while opening a Kicad-6 project after I upgraded Kicad to the latest v7:

07:48:12: Failed to load shared library '/usr/bin/_eeschema.kiface': /usr/bin/_eeschema.kiface: undefined symbol: _ZNK13wxGLCanvasX1115IsShownOnScreenEv, version WXU_3.2
07:48:12: Failed to load kiface library '/usr/bin/_eeschema.kiface'.
07:48:12: Error loading editor.
07:48:12: Application failed to load.

The problem is that I have built the latest wxWidgets (v3.2.2.1) from sources - I need that library for other projects installed on my PC, Ubuntu 22.04 LTS. Is it possible to use Kicad with newer versions of wxWidgets lib? Or I should remove it as suggested elsewhere in this discussion and stick only to the one shipped with Kicad 7?

$ ldd /usr/bin/_eeschema.kiface | grep wx => /usr/local/lib/ (0x00007f552ef44000) => /usr/local/lib/ (0x00007f552d556000) => /usr/local/lib/ (0x00007f552d475000) => /usr/local/lib/ (0x00007f552ca00000) => /usr/local/lib/ (0x00007f552eedc000) => /usr/local/lib/ (0x00007f552c600000) => /usr/local/lib/ (0x00007f552d35e000) => /usr/local/lib/ (0x00007f552d349000) => /usr/local/lib/ (0x00007f552c200000)

I’ve moved your question to a new thread. Please do not append to that old thread, particularly as it was marked [Solved] and was for Ubuntu 22.10, not 22.04 LTS which is what you have, as you are less likely to get your question noticed. Forum threads are not in short supply despite supply chain issues.

1 Like

It is but you should compile kicad against it. Also if you want plugins to work, compile wxpython against it (matching version), before you compile kicad.

Alternatively use flatpack version of kicad.

1 Like

Does flatpak add command line tools to launch Kicad and it’s friends from the command line as default?

I don’t think so, can’t say for sure, don’t use it myself.

4 posts were split to a new topic: About linux software packaging philosophy

You’ve hit one problem of shared libraries. If you install a newer version of the library, you affect all the applications that depend on it. That’s why distros are conservative and don’t touch the library versions that were current when the particular distro version was released. Or at least update to only ABI compatible versions. It’s the reason why people discover that distro versions are “stuck” at older versions of apps, and the reason why KiCad had to provide its own versions of wx libraries. Now the shoe is on the other foot in your case.

So if you update the shared library you have to recompile KiCad. It might also be possible to use some LD_LIBRARY_PATH magic to make KiCad only load its version of the shared libraries, but that’s a hairy endeavour with no guarantee of success.

1 Like

All right, compiling Kicad and wxPython will be too much for me.

Do you use a custom/modified version of wxWidgets in Kicad? Can I add a PPA repo with the wxWidgets used in Kicad to my package manager? I don’t want to add “ppa:kicad/kicad-7.0-releases” to other projects because it’s too specific to Kicad. For example, if you pull ligwxgtk from some general repository, I can use this one as the root for my other projects (I’m trying to cut down extra work of setting up each and every libwxgtk version per project - some more or less version of wxwidgets should work for all projects I’m using including Kicad).

Also, I cannot mark any of your replies as the answer.

Don’t worry, this forum is not like one of those *stack sites where people nominate or vote for answers.

I can’t say for certain that kicad uses unmodified version of wxwidgets on linux, I know at least on mac it compiles the lib with some bugfixes. On windows it doesn’t (uses vcpkg provided lib directly). But if there are modification you can be fairly certain that they are bugfixes in wxwidgets itself and 99.9% will not break compatibility.

But more importantly, I doubt whatever else version of wxwidgets your other software needs requires specific patch level match. Kicad uses pretty much the latest wxwidgets there is, 3.2.x so most likely your other software will also just work.

Actually, it’s slightly slightly modified

I pulled wxwidgets into our registry because I got sick of dealing with the vcpkg upstream wanting me to make things work on every platform under the sun when I made a patch

I would try to see if you can use the wxWidgets 3.2.1 that come from the KiCad PPA with your other projects. It could be that you don’t need to build wxWidgets