Solution: Error building because of wxWidgets 3.0.0

I just wanted to share a fix to building the latest code and getting the error about wxWidgets

Could NOT find wxWidgets: Found unsuitable version "2.8.12", but required
  is at least "3.0.0" (found

The problem from what I can tell is in “./CMakeModules/FindwxWidgets.cmake” line ~860.

find_file(_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)

I printed “wxWidgets_INCLUDE_DIRS” and verifed that it was pointing to 3.0 include directories. But for some reason find_file was still finding the 2.8 wxWidgets which I also have installed.

The solution (not a good solution but it works) is to manually set “_filename” like this

set(_filename "/usr/include/wx-3.0-unofficial/wx/version.h")

Hope this helps until a more permanent fix gets put in.

1 Like

I haven’t had much luck in finding where to submit bug-reports, but the wx-config script supports a --version=3.0 flag which should be possible to stuff into cmake.

The bug reporter can be accessed from the launchpad : https://bugs.launchpad.net/kicad/+filebug

Alternatively if you don’t want to modify the .cmake file:

Follow the manual build instructions here, except at the cmake …/ part.

http://www.kicad.org/display/DEV/Building+KiCad+on+Linux

First install wxWidgets 3.0.0:

sudo apt-get install libwxbase3.0-dev libwxgtk3.0-dev

and then replace cmake …/ with the following:

cmake ../ -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config'

Is wxWidgets 3 already available in 14.04 repositories? It wasn’t the case yet recently.

For anyone getting this error using kicad-install.sh, make sure you are not using an old kicad-install.sh

Get the latest here:
http://www.kicad.org/display/DEV/Building+KiCad+on+Linux

I can confirm that for me it started working again when using the latest kicad-install.sh and running

./kicad-install.sh --remove-sources

prior to attempting a build

I’ve had to do this a few times. I run Debian Jessie (8.0) with 3.16 kernel. This is what I have to do to resolve this issue.

Remove remaining instances of wx2.8

sudo apt-get remove wx2.8-headers

You may have more packages, so type in wx2.8 and use tab completion

Purge remaining instances of wx2.8

List the installed instances of wx

dpkg -l | grep wx

Uninstall the results that show up with “2.8” one by one with this command (you will get dependency errors if you don’t do it in a particular order)

sudo dpkg --purge python-wxgtk2.8
sudo dpkg --purge libwxgtk2.8-0:amd64
sudo dpkg --purge libwxbase2.8-0:amd64

Install/re-install wx3.0 packages

sudo apt-get install --reinstall libwxbase3.0-dev libwxgtk3.0-dev

Link wx-2.8 folder to wx-3.0

sudo ln -s /usr/include/wx-3.0/ /usr/include/wx-2.8

This step is necessary due to what seems to be as a result of what I think is a hard coded directory in the kicad source.

Compile and go get a snack

1 Like