← Back to team overview

kicad-developers team mailing list archive

Re: Problem building on Fedora Rawhide


This has now been corrected in Fedora rawhide as described in [1], which let me close the associated KiCAD FTBFS in [2].

I don't know if this issue is unique to Fedora or if others will see the same problem.  I guess that depends on whether/when the upstream python3-wxpython4 project corrects the problem.  I've attached the patch to python3-wxpython4 in case it is useful to anyone.


[1] https://bugzilla.redhat.com/show_bug.cgi?id=1988466
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1990001

On 7/30/21 11:39 AM, Steven A. Falco wrote:
I decided to file a bug on Fedora [1].

I also saw a similar issue on the wxWidgets site and added a comment [2].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1988466
[2] https://github.com/wxWidgets/Phoenix/issues/1963


On 7/30/21 10:58 AM, Steven A. Falco wrote:
I just updated my rawhide VM, and you are quite correct:

rawhide$ python -c "import wx;print(wx.version())"
Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "/usr/lib64/python3.10/site-packages/wx/__init__.py", line 17, in <module>
     from wx.core import *
   File "/usr/lib64/python3.10/site-packages/wx/core.py", line 12, in <module>
     from ._core import *
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 261: invalid continuation byte
free(): invalid size
Aborted (core dumped)

I'll post on the Fedora mailing list and see where they want the bug filed.


On 7/30/21 10:48 AM, Ian McInerney wrote:

I saw that failure last night also, and I think it may be a wxPython problem with Python 3.10. I don't hav ea Rawhide VM available at the moment, but what we should do is try the following:

1) Install Python 3.10 and python-wxpython4 in a Rawhide install
2) Run python -c "import wx;print(wx.version())"
3) See if it errors

My guess is there will be an error in step 2, in which case we need to push it upstream to wxPython and the Fedora Python maintainers.


On Fri, Jul 30, 2021 at 3:26 PM Steven A. Falco <stevenfalco@xxxxxxxxx <mailto:stevenfalco@xxxxxxxxx>> wrote:

    The nightly build failed with an error when building KiCAD for Fedora Rawhide, when discovering the python interpreter.  I haven't tracked down the root cause yet, but below are the error messages in case anyone has an idea on what can cause this.  Fedora has recently upgraded the python version, so perhaps that is the cause.


    -- Found PythonInterp: /usr/bin/python3 (found version "3.10")
    -- Found PythonLibs: /usr/lib64/libpython3.10.so <http://libpython3.10.so>
    -- Performing Test HAS_FLTO
    -- Performing Test HAS_FLTO - Success
    -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.10", minimum required is "3.6")
    -- Check for installed Python Interpreter -- found
    <string>:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
    <string>:1: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
    -- Python module install path: lib/python3.10/site-packages
    -- Found PythonLibs: /usr/lib64/libpython3.10.so <http://libpython3.10.so> (found suitable version "3.10.0b4", minimum required is "3.6")
    Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "/usr/lib64/python3.10/site-packages/wx/__init__.py", line 17, in <module>
          from wx.core import *
        File "/usr/lib64/python3.10/site-packages/wx/core.py", line 12, in <module>
          from ._core import *
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 261: invalid continuation byte
    free(): invalid size
    CMake Error at CMakeModules/FindwxPython.cmake:66 (message):
        Unknown wxPython/Phoenix version string:
    Call Stack (most recent call first):
        CMakeLists.txt:835 (find_package)
    -- Configuring incomplete, errors occurred!
    See also "/builddir/build/BUILD/kicad-baf67986957afc3b4c47ed6f3def0ba3af76d2e9/redhat-linux-build/CMakeFiles/CMakeOutput.log".
    See also "/builddir/build/BUILD/kicad-baf67986957afc3b4c47ed6f3def0ba3af76d2e9/redhat-linux-build/CMakeFiles/CMakeError.log".
    error: Bad exit status from /var/tmp/rpm-tmp.R634pK (%build)
    RPM build errors:
          line 57: It's not recommended to use '>' in Obsoletes: Obsoletes:      kicad >= 100:r1-1
          Bad exit status from /var/tmp/rpm-tmp.R634pK (%build)
    Child return code was: 1
    EXCEPTION: [Error()]
    Traceback (most recent call last):
        File "/usr/lib/python3.9/site-packages/mockbuild/trace_decorator.py", line 93, in trace
          result = func(*args, **kw)
        File "/usr/lib/python3.9/site-packages/mockbuild/util.py", line 600, in do_with_status
          raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
    mockbuild.exception.Error: Command failed:
       # /usr/bin/systemd-nspawn -q -M c4a5491b70ab476abdc4b76cbef74bac -D /var/lib/mock/fedora-rawhide-x86_64/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.3h0kphr8:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/kicad-nightly.spec

    Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
    Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
    Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
    More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>

diff -up wxPython-4.0.7/ext/wxWidgets/interface/wx/listctrl.h.utf8 wxPython-4.0.7/ext/wxWidgets/interface/wx/listctrl.h
--- wxPython-4.0.7/ext/wxWidgets/interface/wx/listctrl.h.utf8	2019-10-20 09:39:15.000000000 -0400
+++ wxPython-4.0.7/ext/wxWidgets/interface/wx/listctrl.h	2021-08-03 18:37:47.530688912 -0400
@@ -1570,7 +1570,7 @@ public:
     @class wxListView
     This class currently simply presents a simpler to use interface for the
-    wxListCtrl -- it can be thought of as a @e façade for that complicated class.
+    wxListCtrl -- it can be thought of as a @e facade for that complicated class.
     Using it is preferable to using wxListCtrl directly whenever possible because
     in the future some ports might implement wxListView but not the full set of

Follow ups