Okay, this is way over my head; I’ve no idea what “system one” is, or how to install this or that “from the ppa”. I just followed the instructions on how to install the the stable version of the nightly builds, and that’s all I did, from downloading the package to install kicad. For anything else I need an explicit command line to enter; as I barely just learned what a ppa is, if indeed I did. Sorry I’m so ignorant.
I just had a look at what Muon shows for libwxgtk and the only package it shows is, libwxgtk3.0-gtk3-0v5
and it is already installed, apparently.
Edit: NO! Sorry; I had status = installed, in Muon; there are other libwxgtk’s shown, not installed: libwxgtk-media3.0-gtk3-05v libwxgtk-media3.0-gtk3-dev libwxgtk-webview3.0-gtk3-05v libwxgtk-webview3.0-gtk3-dev libwxgtk3.0-gtk3-05v INSTALLED libwxgtk3.0-gtk3-dev
But really, my recommendation would be to stop trying to build KiCad from source for now: it seems like it is frustrating because there are a lot of different things to wrap your head around to understand why things aren’t working and how to correct them. Now that you have added the PPA, you should be able to install the latest version of KiCad from that PPA.
I already installed KiCAD from the PPA; but I want to get into the habit of updating sources and rebuilding every day, rather than downloading hundreds of megabytes every day. That, plus I’m thinking I might contribute some code in the not-too-distant future. I was lead developer in a FOSS game that was called Privateer Universe, long story; I know very little about unix, libraries, ppa’s or environmental variables, but I can do incredible things coding in C++, Assembly, or glsl, once I get set up, with other people’s lots of help. In my shader development evolution, I got some incredible things working. I managed, for some examples,
How to flat-shade objects without the geometry overload (point duplication) of sharp edges.
How to shade 2-layer materials in a way that distinguishes a glossy car paint from low gloss paints from molded plastics. Yes, I had blue plastic next to a blue painted surface, and you could clearly tell plastic from paint, without any doubt, even though the base color was the same, the roughness was the same, AND the index of refraction was the same.
I managed object self-shadowing just using two baked textures and a fragment shader algorithm. Nothing to do with any of the current shadowing methods. No buffers, no geometry, nothing.
I got the most realistic glass I’ve ever seen from any other graphics, by modelling multiple internal reflections between the two sides. This may sound complicated but it isn’t: When you do the fresnel math for infinite reflections, you get a series that simplifies to a formula that is simpler than a single refraction.
Your system comes with wx 3.0; this is too old for KiCad, but it is fine to leave it installed alongside 3.2
Our PPA provides wx 3.2
Development packages need to be installed separately from distribution packages. So you need to install the wx 3.2 development package from our PPA explicitly (it isn’t automatically installed when you install KiCad from the PPA)
Once you install libwxgtk3.2-dev from our PPA, you can try again with the CMake step
CMake is very aggressive about caching results from previous runs, to speed things up. So, it is common to need to delete the CMake cache to actually observe a change when you fix something about build dependencies. Delete the file CMakeCache.txt in your build directory before re-running cmake to see if the output changes.
Sorry I did not reply yesterday; the robot decided I had posted too much for a new forum member, and kicked me out for some hours as punishment. So, in the meantime I went to the Ubuntu forum to try and get some help, and got lots of it, but it still doesn’t work. To make a long story short, I learned that me being in Jammy, 22.04, I’m not entitled to wxwidgets3.2, as it is native to Luna 23.04; but that there are backports, so I included a backports PPA, but I still had problems, so Manfred, at Ubuntu, helped me edit the sources.list file in an editor, and everything went well. Here’s some proof, I gather:
Sorry I had to edit out any url’s above, as the robot told me I was only allowed two links per post; it thought they were links …
So, libwxgtk3.2-1 is there, installed.
However, I do NOT see it in Muon.
AND, when I try to build KiCAD I get the exact same error, even though I deleted CMakeCache.txt.
dd@dd-20b7s4e800:~/Downloads/zip/KiCAD_git/kicad/build/release$ cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo …/…/
– The C compiler identification is GNU 11.4.0
– The CXX compiler identification is GNU 11.4.0
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /usr/bin/cc - skipped
– Detecting C compile features
– Detecting C compile features - done
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– KiCad install dir: </usr/local>
– Enabling warning -Wsuggest-override
– Enabling warning -Wduplicated-branches
– Enabling warning -Wduplicated-cond
– Enabling error for -Wvla
– Enabling warning -Wimplicit-fallthrough
– Enabling error for -Wreturn-type
– Enabling warning -Wshadow
– Enabling warning -Wsign-compare
– Enabling warning -Wmissing-field-initializers
– Enabling warning -Wempty-body
– Enabling warning -Wreorder
– Enabling warning -Wmismatched-tags
– Disabling warning -Wpsabi
– Check for installed GLEW – found
– Found the following HarfBuzz libraries:
– HarfBuzz (required): /usr/lib/x86_64-linux-gnu/libharfbuzz.so
– Found OpenCASCADE Standard Edition version: 7.5.0
– ++ OpenCASCADE Standard Edition include directory: /usr/local/include/opencascade
– ++ OpenCASCADE Standard Edition shared libraries directory: /usr/local/lib
– Check for installed Python Interpreter – found
– Python module install path: local/lib/python3.10/dist-packages
– pybind11 v2.9.2
– Found wxPython Phoenix 4.2.0/gtk3 (wxWidgets 3.2.1)
CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES) (Required is at
least version “3.2.1”)
To clarify: wxWidgets 3.2 is not generally available in Ubuntu 22.04, but it is available in our (KiCad) PPA. This is not something I would expect the average Ubuntu forum member who does not use KiCad to know.
What happens if you try to install libwxgtk3.2-dev?
I am not sure what will happen if you try to use the backports version of wx instead of the one in our PPA.
I understand there’s much new information for you to digest, but you didn’t pay attention to one crucial detail: for using a library for compiling software you need the library headers, not only the library itself. Ubuntu offers them in *-dev packages. That’s what Jon pointed to.
I actually just did EXACTLY that, from the command line, sudo apt, since nothing showed in Muon, and it worked; it installed, but I still get an error trying to build kiCAD, though the error message is subtly different; it doesn’t speak of version 3.2.1 like it did before. I think it is looking for a header file, but it’s just a gut feeling… Here’s the output:
dd@dd-20b7s4e800:~/Downloads/zip/KiCAD_git/kicad/build/release$ cmake -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo …/…/
– KiCad install dir: </usr/local>
– Enabling warning -Wsuggest-override
– Enabling warning -Wduplicated-branches
– Enabling warning -Wduplicated-cond
– Enabling error for -Wvla
– Enabling warning -Wimplicit-fallthrough
– Enabling error for -Wreturn-type
– Enabling warning -Wshadow
– Enabling warning -Wsign-compare
– Enabling warning -Wmissing-field-initializers
– Enabling warning -Wempty-body
– Enabling warning -Wreorder
– Enabling warning -Wmismatched-tags
– Disabling warning -Wpsabi
– Check for installed GLEW – found
– Found the following HarfBuzz libraries:
– HarfBuzz (required): /usr/lib/x86_64-linux-gnu/libharfbuzz.so
– Found OpenCASCADE Standard Edition version: 7.5.0
– ++ OpenCASCADE Standard Edition include directory: /usr/local/include/opencascade
– ++ OpenCASCADE Standard Edition shared libraries directory: /usr/local/lib
– Check for installed Python Interpreter – found
– Python module install path: local/lib/python3.10/dist-packages
– pybind11 v2.9.2
– Found wxPython Phoenix 4.2.0/gtk3 (wxWidgets 3.2.1) CMake Error at cmake/FindwxWidgets.cmake:922 (message):
wxWidgets wx/version.h file not found in
/usr/local/lib/wx/include/gtk3-unicode-3.2;/usr/local/include/wx-3.2.
Call Stack (most recent call first):
CMakeLists.txt:958 (find_package)
You can try finding that missing file from your system and copy it to the mentioned location. I vaguely remember clashing into a similar problem sometimes.
But the whole reason I wrote the “easy way” build instruction linked to above was to avoid all this fuss. If someone has packaged a program it must have been built already, and all the required information about the dependencies is already there, and they can be installed with zero knowledge and zero hunting, and there’s no need to compile the dependency libraries yourself. Basically, if the repository for the software package is available, it’s one short command line command.
Or, because you both compiled yourself and installed a package, there’s some clash between them. Because you didn’t need the self-compiled version in the first place, get rid of it and all of its ghosts altogether.
I already got rid of the self-compiled one. I used make uninstall, if that’s the right way.
Regarding copying this header file, I did,
sudo cp /usr/include/wx-3.2/wx/version.h /usr/local/include/wx-3.2
and
sudo cp /usr/include/wx-3.2/wx/version.h /usr/local/lib/wx/include/gtk3-unicode-3.2
but I still get the same message trying to build.
CMake Error at cmake/FindwxWidgets.cmake:922 (message):
wxWidgets wx/version.h file not found in
/usr/local/lib/wx/include/gtk3-unicode-3.2;/usr/local/include/wx-3.2.
Call Stack (most recent call first):
CMakeLists.txt:958 (find_package)
Wait, if you have installed the backports dev package, which will install files to /usr/include, why are you instructing cmake to use /usr/local/include?
I think it is likely that your current problems are due to installing a backports wx package from a newer Ubuntu instead of just using the one provided by the KiCad PPA. I would recommend undoing whatever process the Ubuntu forum had you do, go back and follow the steps I listed (including wiping your CMakeCache again).
Okay, noted.
At the moment I’m trying something else:
I have an older computer, 2-core, that was also running Jammy.
So, I tried experimentally to upgrade to Luna.
I had problems, but eventually it finished the upgrade.
Now I’m upgrading it to 23.10.
Then I’m going to git clone kicad to that computer, and try to compile.
If it goes well, then I will do everything again on this laptop.
Thanks everyone for all the help. This is starting to be fun.
I can’t wait to get it working and start looking at the graphics code.
SUCCESS!!! I have a test project opened in kiCAD 7.99 !!!
And the funny thing is that I installed over 7.5; forgot to uninstall it first;
I uninstalled 7.5 after; but somehow the menu icons now point to the
compiled version, 7.99. I was expecting trouble with links.
So, I guess this issue is officially closed, now.
Many thanks everybody here. You guys rock!