← Back to team overview

kicad-developers team mailing list archive

Re: wxPython-gtk3 woes

 

According to this documentation, wxPython versions can be defined by:

wx-VERSION [-PORT-CHARTYPE [-FLAVOUR]]

VERSION: By default this will be just the first two components of the
VersionNumbers, (or the first three in an "unstable" release series) but
the version selection code will support using all four components of the
version number if you would like to manage it that way on your own.

PORT: This represents the wxWidgets port that was used to build
wxPython. For Windows and Mac you can ignore this as there is only one
port each that is currently supported for those platforms. Currently on
unix systems there are two possible values, "gtk" and "gtk2".

CHARTYPE: This will either be "ansi" or "unicode" depending on how
wxWidgets and wxPyton were built. In the unicode build then all strings
passed to wx functions and methods will first be converted to unicode
objects using the default encoding, and all string values returned from
wx functions and methods will actually be unicode objects. See
UnicodeBuild for more info.

FLAVOUR: This is an arbitrary tag that can be used in wxWidgets builds
to further distinguish custom builds from stock ones. wxPython supports
it as well but doesn't use it by default.

Here are some possible directory names:

    wx-2.5.3
    wx-2.5.3-gtk2-unicode
    wx-2.5.3.0-gtk2-unicode

This seems like a viable solution.  We could use cmake to add the
wxPython import version to an automatically generated header file that
the developer could override during build config.  Obviously the distro
packagers would have to build multiple versions of wxPython which is
probably a more difficult issue to resolve.

On 4/10/2018 9:36 AM, Nick Østergaard wrote:
> This is because of the wxversion.py. It will then be provided by
> multiple packages and I don't think it distinguishes different toolkit
> versions, only multiple wxpython versions.
> 
> https://wiki.wxpython.org/MultiVersionInstalls
> 
> 
> 2018-04-10 14:56 GMT+02:00 Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>>:
> 
>     I wonder why they couldn't make a gtk2 version of wxPython.  It seems
>     plausible since they created a gtk2 version of wxWidgets.  Looks like
>     the work load just got increased during v6 development.  Maybe we should
>     attack that first and backport the gtk3 fixes to v5 so distros wont have
>     to support gtk2 builds of wx.
> 
>     On 4/10/2018 8:48 AM, Maciej Suminski wrote:
>     > In the bug reported for Ubuntu bionic (lp:#1762432) there are three
>     > packages installed:
>     >
>     > - libwxgtk3.0-0v5:amd64       (wxWidgets/GTK2)
>     > - libwxgtk3.0-gtk3-0v5 (wxWidgets/GTK3)
>     > - python-wxgtk3.0 (wxPython/GTK3)
>     >
>     > My guess is that some applications may depend on wxWidgets/GTK2, and
>     > wxWidgets/GTK3 is simply installed as a dependency of wxPython/GTK3.
>     >
>     > On 04/10/2018 02:36 PM, Wayne Stambaugh wrote:
>     >> For our v5 release, I guess we are going to have to disable
>     wxPython on
>     >> the platforms who insist on building wxPython with gtk3.  We can
>     start
>     >> looking at the transition to gtk3 and wxPhoenix during v6
>     development.
>     >>
>     >> Are distros actually shipping with wxWidgets built with gtk2 and
>     >> wxPython built with gtk3?  This seems to be the case if I'm
>     reading this
>     >> correctly.  If they are, the question is why?
>     >>
>     >> On 4/10/2018 7:35 AM, Maciej Sumiński wrote:
>     >>> It seems the easy solution to me too. I just wonder how many
>     people rely
>     >>> on the Python shell or GUIs done with wxPython.
>     >>>
>     >>> On 04/10/2018 01:32 PM, Jeff Young wrote:
>     >>>> I never got KICAD_SCRIPTING_WXPYTHON to work on my Mac, and I
>     can’t say I’ve missed it.
>     >>>>
>     >>>>> On 10 Apr 2018, at 12:26, Maciej Sumiński
>     <maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>> wrote:
>     >>>>>
>     >>>>> Apparently mixing wxWidgets-gtk2 and wxPython-gtk3 [1] is not
>     only an
>     >>>>> Arch issue anymore, as the upcoming Ubuntu release (bionic) also
>     >>>>> provides wxPython package built against gtk3 [package: 2, bug
>     report: 3].
>     >>>>>
>     >>>>> There are two things we can do to fix the problem for v5:
>     >>>>> - Backport python-wxgtk3.0 package built against gtk2. This way
>     >>>>> everything works as it used to be, but only for the nightlies.
>     For the
>     >>>>> official release the users would be forced to add a PPA
>     providing the
>     >>>>> backported package and it sounds troublesome.
>     >>>>>
>     >>>>> - Disable KICAD_SCRIPTING_WXPYTHON, as there is still available
>     >>>>> libwxgtk3.0 package [4] build against gtk2. The drawbacks are
>     that the
>     >>>>> Python shell in pcbnew and scripts taking advantage of wxPython to
>     >>>>> display a GUI will not work anymore.
>     >>>>>
>     >>>>> In other news: Ubuntu bionic also ships wxPhoenix [5].
>     >>>>>
>     >>>>> Cheers,
>     >>>>> Orson
>     >>>>>
>     >>>>> 1. https://bugs.launchpad.net/kicad/+bug/1747677
>     <https://bugs.launchpad.net/kicad/+bug/1747677>
>     >>>>> 2. https://packages.ubuntu.com/bionic/python-wxgtk3.0
>     <https://packages.ubuntu.com/bionic/python-wxgtk3.0>
>     >>>>> 3. https://bugs.launchpad.net/kicad/+bug/1762432
>     <https://bugs.launchpad.net/kicad/+bug/1762432>
>     >>>>> 4. https://packages.ubuntu.com/bionic/libwxgtk3.0-0v5
>     <https://packages.ubuntu.com/bionic/libwxgtk3.0-0v5>
>     >>>>> 5. https://packages.ubuntu.com/bionic/python3-wxgtk4.0
>     <https://packages.ubuntu.com/bionic/python3-wxgtk4.0>
>     >>>>>
>     >>>>>
>     >>>>>
>     >>>>> _______________________________________________
>     >>>>> 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>
>     >>>>
>     >>>>
>     >>>
>     >>>
>     >>>
>     >>>
>     >>> _______________________________________________
>     >>> 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>
>     >>>
>     >>
>     >> _______________________________________________
>     >> 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>
>     >>
>     >
>     > _______________________________________________
>     > 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>
>     >
> 
>     _______________________________________________
>     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>
> 
> 


References