Attempted build with WX 3.1 (sort of works)


I attempted a build using latest git and wxWindows 3.1, compiling it from source on a clean Ubuntu 16.10 base. It sort of works - basically compiles and runs - but it is unstable and frequently crashes. The build is based on Gtk2 (it didn’t seem to like gtk3).

Is this “expected”? It seems there are a lot of improvements in 3.1 which should benefit kicad.

As an aside, this is the set of commands I used:

sudo apt upgrade
sudo apt install git curl
sudo apt install gcc g++ make build-essential doxygen doxygen-gui
sudo apt install swig libboost1.61-all-dev
mkdir libs
cd libs
curl -LO
tar xfj wxWidgets-3.1.0.tar.bz2 
sudo apt install pkg-config
sudo apt install libgtk-3-dev
mkdir buildgtk
cd buildgtk
../configure --with-gtk
sudo make install
sudo ldconfig
sudo apt install liblablgl-ocaml-dev freeglut3 freeglut3-dev
sudo apt install libwebkitgtk-dev libtiff5-dev libjpeg8-dev libpcre2-dev libnotify-dev
sudo apt install libcppunit-1.13-0v5 libcppunit-dev
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
./configure --with-gtk --with-libpng --with-opengl --with-zlib 
sudo make install
cd ../../kicad/
sudo apt install libglew-dev libglewmx-dev libglm-dev
sudo apt install libssh-dev libssl-dev libcurl4-gnutls-dev 
cmake .
sudo make install

Read the known issues note on the kicad website.

I found that page earlier, but none of the issues there are relevant… and i thought you might wish toknow what happened.

Wxgtk is used only in legacy (or the problems are caused only in legacy. I’m not sure what the correct interpretation of the paragraph in the known issues site is.) Legacy is slowly phased out, so nobody wants to invest resources into fixing the problems with wxgtk 3.

Maybe @c4757p knows more.

Not sure what you mean here. The entire GUI is based on wxWidgets, wxGTK on Linux. Legacy does use wx drawing routines, but that’s separate.

wxWidgets 3.1 is officially unsupported - it is not considered a stable release by the wx team and still has numerous issues. wxWidgets 3.2 should be the next stable version, and will be supported (though perhaps not immediately).

wxGTK with GTK3 has serious graphics issues, either in wx itself or in how KiCad uses the graphics routines, and so far nobody has fixed it.

1 Like

Thanks for the reply. I had a look at the wx site before i built with 3.1, and it seemed to me that development was very slow or even halted. I would not put much faith in seeing a 3.2 release any time soon.

Note i built wx with GTK2… not 3.

I guess i know the answer, but given so many issues related to wx in some way, have you considered using Qt5? :wink:

wx development is slow at times, yes. I’m not aware of it being halted though.

Switching to Qt would be a massive undertaking, as significant parts of the code (particularly older code) are seriously intertwined with wx. When the legacy canvases are totally eliminated from everything, it may become a technical possibility. Then you will have the opportunity to try to convince the lead devs that it should be done :upside_down: