Bugzilla – Bug 1222761
wxWidgets needs to be compiled with spellcheck
Last modified: 2024-06-08 10:38:18 UTC
I am trying to build an updated kiCad 8.0 and it requires wxWidgets and wxPython with Python > 3.6. Kicad requires wxWidgets >= 3.0.5 so I am trying to build with wxWidgets 3.2. Unfortunately, the wxWidgets supplied with OpenSUSE is not built with spellcheck enabled which is required for wxPython. Can wxWidgets be built with --enable-spellcheck in the configure phase?
Note that this also requires gspell-devel/gspell for the gtk version of wxWidgets.
How is wxPython needing spelling support? What is the error message?
Kicad 8 requires wxPython (Phoenix), but it also requires Python > 3.6. Installing wxPython with Python 3.11 via pip3.11 install wxPython fails with a number of problems, not the least of which is it can't find wx/setup.h. [ 11/939] Compiling sip/cpp/sip_corewxZoomGestureEvent.cpp In file included from ../../../../ext/wxWidgets/include/wx/defs.h:45:0, from ../../../../ext/wxWidgets/include/wx/wx.h:14, from ../../../../wx/include/wxPython/wxpy_api.h:41, from ../../../../sip/cpp/sipAPI_core.h:22068, from ../../../../sip/cpp/sip_corewxZoomGestureEvent.cpp:10: ../../../../ext/wxWidgets/include/wx/platform.h:159:10: fatal error: wx/setup.h: No such file or directory #include "wx/setup.h" ^~~~~~~~~~~~ compilation terminated. ../../../../sip/siplib/siplib.c: In function ‘parsePass1’: ../../../../sip/siplib/siplib.c:3900:20: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] *selfp = va_arg(va, PyObject *); ^ This is despite the fact that the GTK3 wxwidgets devel package is installed.
If it cannot find wx/setup.h, that is a sign that it failed to run, and use the output from, `wx-config --cflags`. The /electronics/kicad package in OBS already has kicad 8, and that build generally succeeds past 11/939, so I presume it's fine on wx/setup.h; if not, point me to an alternate OBS package where the issue is visible.
According to the Electronics repository, kicad is 7.0.9-lp155.127.1 but other components are 8.0. They all must be 8.0, especially the kicad component. Kicad is tricky to build on OpenSUSE for several reasons. For one, it heavily makes use of WxWidgets and wants 3.1.x or later as well as requiring Python 3.8 or later (not the default 3.6). I have 3.11 installed, but cannot get wxPython (Phoenix) for Python 3.11 to build or install with the wxWidgets included with OpenSUSE. In order to build my own Kicad 8.0 I have had to build my own copy of WxWidgets 3.2 as well as build my own wxPython linked against my local build of wxWidgets. I also ran into problems in that it required the wxWidgets spell check be enabled (which it is not in OpenSUSE. I have been building up-to-date Kicad for some time on OpenSUSE and I have never been able to get it to build or run with the included wxWidgets. I do a fair bit of PCB work and use Kicad quite a bit.
Currently, Kicad 7 cannot be installed because it requires version 7 of all the libraries, which are version 8. The other components of Kicad do not need to be built. If I had to guess, whoever maintains this is having difficulty building Kicad 8 on OpenSUSE.
>According to the Electronics repository, kicad is 7.0.9-lp155.127.1 » sosc r -v electronics/kicad openSUSE_Tumbleweed i586 succeeded openSUSE_Tumbleweed x86_64 succeeded openSUSE_Tumbleweed aarch64 succeeded SLE_12_SP5 x86_64 disabled 15.6 x86_64 unresolvable: nothing provides wxGTK3-devel >= 3.2.4 (got version 3.1.5-150400.3.7.1 provided by wxGTK3-3_2-devel) 15.6 aarch64 unresolvable: nothing provides wxGTK3-devel >= 3.2.4 (got version 3.1.5-150400.3.7.1 provided by wxGTK3-3_2-devel) 15.5 x86_64 unresolvable: nothing provides wxGTK3-devel >= 3.2.4 (got version 3.1.5-150400.1.14 provided by wxGTK3-3_2-devel) The problem *isn't* that wxWidgets is built without spelling, it's that wx 3.2 does not exist for Leap. In fact, the TW build is just fine without spelling specifically enabled.
No further comment, so I take it this is resolved.