wxPython with wxGTK3/Broadway (HTML5-based) backend

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
Hello,

Build instructions how to build wxPython/Phoenix with wxGTK3/Broadway
(HTML5-based) backend is here:
http://trac.wxwidgets.org/ticket/15291

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Anna Petrášová
Hi,


On Wed, Jul 10, 2013 at 4:20 PM, Kolya Kosenko <[hidden email]> wrote:
Hello,

Build instructions how to build wxPython/Phoenix with wxGTK3/Broadway (HTML5-based) backend is here:
http://trac.wxwidgets.org/ticket/15291

Any chance to build wxPython classic with this backend?

Thanks,

Anna 

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
Hello Anna,

> Any chance to build wxPython classic with this backend?

Currently it is impossible. It is needed:
1. to add support wxGTK3/X11
http://trac.wxwidgets.org/ticket/15142
2. to disable some rarely used X11-dependent wxWidgets classes
(wxDisplay, wxUIActionSimulator, wxGLCanvas, wxWebView).

I'm not familiar with SWIG and wxPython, it seems wxPython Classic is
not actively developed and wxPython Phoenix suits me.

If you have any questions about wxWidgets with Broadway backend you are
welcome.

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Anna Petrášová
Hi,

On Fri, Jul 12, 2013 at 4:25 PM, Kolya Kosenko <[hidden email]> wrote:
Hello Anna,


Any chance to build wxPython classic with this backend?

Currently it is impossible. It is needed:
1. to add support wxGTK3/X11
http://trac.wxwidgets.org/ticket/15142
2. to disable some rarely used X11-dependent wxWidgets classes (wxDisplay, wxUIActionSimulator, wxGLCanvas, wxWebView).

I succeeded in compiling wxPython but import wx fails:
  File "/home/anna/dev/wx/wxPython/demo/Main.py", line 59, in <module>
    import wx              
  File "/home/anna/dev/wx/wxPython/wx/__init__.py", line 45, in <module>
    from wx._core import *
  File "/home/anna/dev/wx/wxPython/wx/_core.py", line 4, in <module>
    import _core_
ImportError: /home/anna/dev/wx/wxPython/wxpy-bld/lib/libwx_gtk3u_core-2.9.so.5: undefined symbol: _Z15wxCharCodeWXToXi 

I understand it is difficult to guess how to solve it...


I'm not familiar with SWIG and wxPython, it seems wxPython Classic is not actively developed and wxPython Phoenix suits me.

If you have any questions about wxWidgets with Broadway backend you are welcome.

 So I tried to build Phoenix from source, but it fails:

/home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I /home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c /tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py sip/gen/_core.sip
sip: sip/gen/wxdatetime.sip:276: The struct/class has already been defined
Command '/home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I /home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c /tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py sip/gen/_core.sip' failed with exit code 1.
Finished command: sip (0.53s)

I have no idea what I am doing wrong,

thanks for any help,

Anna


Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
On 07/13/2013 06:22 PM, Anna Petrášová wrote:

> I succeeded in compiling wxPython but import wx fails:
>    File "/home/anna/dev/wx/wxPython/demo/Main.py", line 59, in <module>
>      import wx
>    File "/home/anna/dev/wx/wxPython/wx/__init__.py", line 45, in <module>
>      from wx._core import *
>    File "/home/anna/dev/wx/wxPython/wx/_core.py", line 4, in <module>
>      import _core_
> ImportError:
> /home/anna/dev/wx/wxPython/wxpy-bld/lib/libwx_gtk3u_core-2.9.so.5:
> undefined symbol: _Z15wxCharCodeWXToXi

$ echo _Z15wxCharCodeWXToXi|c++filt
wxCharCodeWXToX(int)

wxCharCodeWXToX(int) is implemented in wxWidgets/src/unix/utilsx11.cpp
only in wxGTK/X11 port. It seem like you have built wxGTK/Broadway but
your wxPython object files expects wxGTK/X11 or it is
wxUIActionSimulator object file left from wxGTK/X11 in wxGTK/Broadway
build (class wxUIActionSimulator is not implemented in wxGTK/Broadway).
You need clean up both wxPython and wxWidgets repositories to be sure
(git clean -df) and remove build directories and ensure that untracked
files also removed (git status -u) and rebuild everything.

>   So I tried to build Phoenix from source, but it fails:
>
> /home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I
> /home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c
> /tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py
> sip/gen/_core.sip
> sip: sip/gen/wxdatetime.sip:276: The struct/class has already been defined
> Command '/home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I
> /home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c
> /tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py
> sip/gen/_core.sip' failed with exit code 1.
> Finished command: sip (0.53s)

It looks like there is problem with generation sip files that is not
related with wxWidgets build. Try to clean up repository and build sip
without building wxPython:
     python build.py dox etg --nodoc sip
And what code is placed in sip/gen/wxdatetime.sip:276 line? What "The
struct/class has already been defined"?

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Mariano Reingart
Hello Kolya:

I'm trying to compyle wxPython but also I'm getting an error:

Waf: Entering directory
`/home/reingart/wxPython_Phoenix-2.9.5.81-r74489-src/Phoenix/build/waf/2.7'
[ 10/692] pkg.siplib: build/waf/2.7/siplib.so -> build/waf/2.7/pkg.siplib
[ 11/692] cxx: sip/cpp/sip_corecmodule.cpp ->
build/waf/2.7/sip/cpp/sip_corecmodule.cpp.3.o
[ 24/692] cxx: sip/cpp/sip_corewxArrayInt.cpp ->
build/waf/2.7/sip/cpp/sip_corewxArrayInt.cpp.3.o
[ 25/692] cxx: sip/cpp/sip_corewxArrayString.cpp ->
build/waf/2.7/sip/cpp/sip_corewxArrayString.cpp.3.o
[ 26/692] cxx: sip/cpp/sip_corewxArtProvider.cpp ->
build/waf/2.7/sip/cpp/sip_corewxArtProvider.cpp.3.o
[ 33/692] cxx: sip/cpp/sip_corewxBookCtrlEvent.cpp ->
build/waf/2.7/sip/cpp/sip_corewxBookCtrlEvent.cpp.3.o
../../../sip/cpp/sip_corecmodule.cpp:6887:2: error: #error wxString
converison can only handle WCHAR wxStrings currently
../../../sip/cpp/sip_corecmodule.cpp: In function 'PyObject*
i_wxPyConstructObject(void*, const wxString&, bool)':
../../../sip/cpp/sip_corecmodule.cpp:6963:44: error: cannot convert
'wxString' to 'const char*' in argument passing
../../../sip/cpp/sip_corecmodule.cpp: In function 'bool
i_wxPyWrappedPtr_TypeCheck(PyObject*, const wxString&)':
../../../sip/cpp/sip_corecmodule.cpp:6980:49: error: cannot convert
'const wxString' to 'const char*' in argument passing
../../../sip/cpp/sip_corecmodule.cpp: In function 'bool
i_wxPyConvertWrappedPtr(PyObject*, void**, const wxString&)':

The steps were:

1. Downloaded the preview snapshot
http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-2.9.5.81-r74489-src.tar.gz
2. tar xvzf ... ; cd wxPython_Phoenix-2.9.5.81-r74489-src
3. cd wxWidgets
4. configure --with-gtk=3 --enable-debug=max --enable-utf8
--enable-stl --disable-display --disable-mediactrl --without-opengl
--disable-uiactionsim --disable-webview
5. make
6. cd ../Phoenix
7. cat phoenix_broadway.diff  phoenix_gtk3.diff  wscript.diff
wxport.diff | patch -p0
8. python build.py dox etg --nodoc sip  build_py --build_dir=../wxWidgets/

Attached are the diffs and the complete build log
I tried the instructions in the tickets at the wx trac, but I don't
know if something is missing, and in some parts I confess that I get
lost about directories and commands...

I'm using Ubuntu 13.04 64bits, for gtk3+broadway I've used the PPA of
Nicolas Delvaux:

http://www.webupd8.org/2013/06/how-to-install-gtk3-with-broadway-html5.html

sudo add-apt-repository ppa:malizor/gtk-broadway
sudo apt-get update
sudo apt-get upgrade

I'm able to run gedit on broadway opening it in firefox, and wxWidgets
compiled fine (even the minimal wxWidget sample runs ok on firefox
too), but I couldn't compile wxPython.
Surely I did a bad move with the config trying several options, but I
cannot realize how to compile from a clean snapshot...

BTW, I also got stuck on some core dumps caused on GTK3 when trying
broadway, but disappeared after rebooting.

Thanks in advance

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.



phoenix_build_log.txt (10K) Download Attachment
wxport.diff (852 bytes) Download Attachment
wscript.diff (824 bytes) Download Attachment
phoenix_gtk3.diff (1K) Download Attachment
phoenix_broadway.diff (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
Hello Mariano,

On 07/14/2013 12:21 PM, Mariano Reingart wrote:

> [ 33/692] cxx: sip/cpp/sip_corewxBookCtrlEvent.cpp ->
> build/waf/2.7/sip/cpp/sip_corewxBookCtrlEvent.cpp.3.o
> ../../../sip/cpp/sip_corecmodule.cpp:6887:2: error: #error wxString
> converison can only handle WCHAR wxStrings currently
> ../../../sip/cpp/sip_corecmodule.cpp: In function 'PyObject*
> i_wxPyConstructObject(void*, const wxString&, bool)':
> ../../../sip/cpp/sip_corecmodule.cpp:6963:44: error: cannot convert
> 'wxString' to 'const char*' in argument passing
> ../../../sip/cpp/sip_corecmodule.cpp: In function 'bool
> i_wxPyWrappedPtr_TypeCheck(PyObject*, const wxString&)':
> ../../../sip/cpp/sip_corecmodule.cpp:6980:49: error: cannot convert
> 'const wxString' to 'const char*' in argument passing
> ../../../sip/cpp/sip_corecmodule.cpp: In function 'bool
> i_wxPyConvertWrappedPtr(PyObject*, void**, const wxString&)':

You need to remove "--enable-utf8 --enable-stl" from wxWidgets configure
run as I wrote in http://trac.wxwidgets.org/ticket/15291
Phoenix has additional requirements for wxWidgets build.

> Surely I did a bad move with the config trying several options, but I
> cannot realize how to compile from a clean snapshot...

No, usually it is fastest way to fix and move forward. Clean up is
required only to ensure that build directory is not dirty by files from
an other build.

You can remove Phoenix directory and restore it from archive and apply
patches. It looks like single way if you are not using git. But it is
usually is not required.

You built wxWidgets in sources directory, it would be better to build in
separate directory - it can be removed without sources.

> BTW, I also got stuck on some core dumps caused on GTK3 when trying
> broadway, but disappeared after rebooting.

Everything is experimental here yet: GTK+/Broadway, wxGTK3 and
wxPython/Phoenix. But I don't get core dumps in Broadway build during my
testing.

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Anna Petrášová
In reply to this post by Kolya Kosenko



On Sun, Jul 14, 2013 at 9:58 AM, Kolya Kosenko <[hidden email]> wrote:
On 07/13/2013 06:22 PM, Anna Petrášová wrote:
I succeeded in compiling wxPython but import wx fails:
   File "/home/anna/dev/wx/wxPython/demo/Main.py", line 59, in <module>
     import wx
   File "/home/anna/dev/wx/wxPython/wx/__init__.py", line 45, in <module>
     from wx._core import *
   File "/home/anna/dev/wx/wxPython/wx/_core.py", line 4, in <module>
     import _core_
ImportError:
/home/anna/dev/wx/wxPython/wxpy-bld/lib/libwx_gtk3u_core-2.9.so.5:
undefined symbol: _Z15wxCharCodeWXToXi

$ echo _Z15wxCharCodeWXToXi|c++filt
wxCharCodeWXToX(int)

wxCharCodeWXToX(int) is implemented in wxWidgets/src/unix/utilsx11.cpp only in wxGTK/X11 port. It seem like you have built wxGTK/Broadway but your wxPython object files expects wxGTK/X11 or it is wxUIActionSimulator object file left from wxGTK/X11 in wxGTK/Broadway build (class wxUIActionSimulator is not implemented in wxGTK/Broadway). You need clean up both wxPython and wxWidgets repositories to be sure (git clean -df) and remove build directories and ensure that untracked files also removed (git status -u) and rebuild everything.

I have updated the version of wxPython and wxWidgets to the latest one and now the compilation fails with:

src/gtk/_misc_wrap.cpp:32978:15: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
src/gtk/_misc_wrap.cpp: In function ‘PyObject* _wrap_UIActionSimulator_MouseMove__SWIG_1(PyObject*, int, PyObject**)’:
src/gtk/_misc_wrap.cpp:41702:60: error: no matching function for call to ‘wxUIActionSimulator::MouseMove(const wxPoint&)’
src/gtk/_misc_wrap.cpp:41702:60: note: candidate is:
src/gtk/_misc_wrap.cpp:4339:10: note: bool wxUIActionSimulator::MouseMove(long int, long int)
src/gtk/_misc_wrap.cpp:4339:10: note:   candidate expects 2 arguments, 1 provided
error: command 'gcc' failed with exit status 1
ERROR: failed building wxPython.
 
I disabled wxUIActionSimulator so don't understand why it's trying to build it. 



  So I tried to build Phoenix from source, but it fails:

/home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I
/home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c
/tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py
sip/gen/_core.sip
sip: sip/gen/wxdatetime.sip:276: The struct/class has already been defined
Command '/home/anna/dev/wx/Phoenix/bin/sip-4.14.4-linux -w -o -T -g -I
/home/anna/dev/wx/Phoenix/src -I /home/anna/dev/wx/Phoenix/sip/gen -c
/tmp/tmpJxXQkz -b sip/cpp/_core.sbf -X pycode_core:wx/core.py
sip/gen/_core.sip' failed with exit code 1.
Finished command: sip (0.53s)

It looks like there is problem with generation sip files that is not related with wxWidgets build. Try to clean up repository and build sip without building wxPython:
    python build.py dox etg --nodoc sip
And what code is placed in sip/gen/wxdatetime.sip:276 line? What "The struct/class has already been defined"?

There is the same class twice:
public:
    class TimeZone
    {
        %Docstring
            TimeZone(tz)
            TimeZone(offset=0)
            
            Class representing a time zone.
        %End
        %TypeHeaderCode
            #include <wx/datetime.h>
        %End

    public:
        TimeZone(
            wxDateTime::TZ tz
        );

        TimeZone(
            long offset = 0
        );

        long GetOffset() const;
        %Docstring
            GetOffset() -> long
            
            Return the offset of this time zone from UTC, in seconds.
        %End

        static
        wxDateTime::TimeZone Make(
            long offset
        );
        %Docstring
            Make(offset) -> DateTime.TimeZone
            
            Create a time zone with the given offset in seconds.
        %End

        public:


        %Property(name=Offset, get=GetOffset)
    };  // end of class TimeZone 



I cleaned it all and ran the command you suggested but it ends up with the same error. Anything else I could test?

Thanks a lot for your help,

Anna

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
On 07/14/2013 03:23 PM, Anna Petrášová wrote:

> I have updated the version of wxPython and wxWidgets to the latest one
> and now the compilation fails with:
>
> src/gtk/_misc_wrap.cpp: In function ‘PyObject*
> _wrap_UIActionSimulator_MouseMove__SWIG_1(PyObject*, int, PyObject**)’:
> src/gtk/_misc_wrap.cpp:41702:60: error: no matching function for call to
> ‘wxUIActionSimulator::MouseMove(const wxPoint&)’
> src/gtk/_misc_wrap.cpp:41702:60: note: candidate is:
> src/gtk/_misc_wrap.cpp:4339:10: note: bool
> wxUIActionSimulator::MouseMove(long int, long int)
> src/gtk/_misc_wrap.cpp:4339:10: note:   candidate expects 2 arguments, 1
> provided
> error: command 'gcc' failed with exit status 1
> ERROR: failed building wxPython.
> I disabled wxUIActionSimulator so don't understand why it's trying to
> build it.

It because wxUIActionSimulator SWIG interface provides  bool
wxUIActionSimulator::MouseMove(const wxPoint& point); (line 61), but
stub has no this method when this class is disabled (line 33)

<https://github.com/wxWidgets/wxPython/blob/e9aa4cab18960a97cf4d9219058bd1840c9f4a8a/src/_uiaction.i#L33>

It is needed to modify this file and run SWIG. Unfortunately I am not
familiar with SWIG to do this.

> There is the same class twice:
> public:
>      class TimeZone

AFAICS there is only one inner wxDateTime::TimeZone class with two
constructors that I also have and it works for me.

If there is really two wxDateTime::TimeZone classes it looks like a bug
in SIP or in Phoenix/etg/wxdatetime.py file. You can rebuild with
*unmodified* Phoenix directory to be sure that this error is not caused
your environment influence. Or do it in the an other new folder. It
would be nice if Robin Dunn help with this, I don't see anything
specific to wxGTK build.

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.


Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Mariano Reingart
In reply to this post by Kolya Kosenko
Hello Koyla:

Thanks for your advice, I finally could build wxPython + Broadway!

I'd to modify wscript manually again to coment out the sections
refering to WXGL and WXWEBVIEW, because it was trying to compile it
ignoring your patch and the wx configuration.
Also, I have to fix wx/lib/sized_controls.py as it seems to have an
indentation error on line 777
Attached are the provisional patches, to apply them I did:

cd Phoenix
cat phoenix_broadway_sized_controls.diff
phoenix_broadway_wscript2.diff | patch -p0

In the wxpython demo, it seems that most controls works, including AUI!
Attahed is also a gui2py (pythoncard fork) screenshot running on
broadway (firefox)!
It seems to have some glitches (for example, screen doesn't update
correctly on mouse moves / events), but is great as an initial
proof-of-concept.
I'll compile against the latest GTK3 version to test it furhter, and I
will review my code too.

BTW, wx.version() still reports '2.9.5.81 gtk2 (phoenix)', maybe it
should be '2.9.5.81 gtk3 (phoenix)'
Is there any way I can know wich gtk backend is using? (x11, wayland,
broadway, etc...)

Below are some more comments

On Sun, Jul 14, 2013 at 7:27 AM, Kolya Kosenko <[hidden email]> wrote:

> Hello Mariano,
>
>
> On 07/14/2013 12:21 PM, Mariano Reingart wrote:
>>
>> [ 33/692] cxx: sip/cpp/sip_corewxBookCtrlEvent.cpp ->
>> build/waf/2.7/sip/cpp/sip_corewxBookCtrlEvent.cpp.3.o
>> ../../../sip/cpp/sip_corecmodule.cpp:6887:2: error: #error wxString
>> converison can only handle WCHAR wxStrings currently
>
> You need to remove "--enable-utf8 --enable-stl" from wxWidgets configure run
> as I wrote in http://trac.wxwidgets.org/ticket/15291
> Phoenix has additional requirements for wxWidgets build.
It worked with the following configure options:

../wxWidgets/configure --with-gtk=3 --enable-debug=max --disable-utf8
--disable-stl --disable-display --disable-mediactrl --without-opengl
--disable-uiactionsim --disable-webview

>
>> Surely I did a bad move with the config trying several options, but I
>> cannot realize how to compile from a clean snapshot...
>
>
> No, usually it is fastest way to fix and move forward. Clean up is required
> only to ensure that build directory is not dirty by files from an other
> build.
>
> You can remove Phoenix directory and restore it from archive and apply
> patches. It looks like single way if you are not using git. But it is
> usually is not required.
>
> You built wxWidgets in sources directory, it would be better to build in
> separate directory - it can be removed without sources.
I created a bldwx directory (at the same level of wxWidgets and Phoenix ones)
There I run ../wxWidgets/Configure ... and make, and then in the Phoenix dir:

python build.py dox etg --nodoc sip build_py --build_dir=../bldwx/

Is that ok?

>
>> BTW, I also got stuck on some core dumps caused on GTK3 when trying
>> broadway, but disappeared after rebooting.
>
>
> Everything is experimental here yet: GTK+/Broadway, wxGTK3 and
> wxPython/Phoenix. But I don't get core dumps in Broadway build during my
> testing.

I'd noted that if I have gedit running (non-broadway), and then I try
to open gedit again under broadway, it raises a segmentation fault

GDK_BACKEND=broadway UBUNTU_MENUPROXY= LIBOVERLAY_SCROLLBAR=0   gedit
Segmentation Fault (core dumped)

Debugging using gdb:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6b63f02 in gdk_x11_atom_to_xatom_for_display ()
   from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
(gdb) where
#0  0x00007ffff6b63f02 in gdk_x11_atom_to_xatom_for_display ()
   from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#1  0x0000000000446c52 in gedit_utils_get_current_workspace ()
#2  0x000000000042ec18 in ?? ()
#3  0x000000000042ee5a in ?? ()
#4  0x00007ffff5b5e1d7 in g_simple_async_result_complete ()
   from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007ffff5b5e2d9 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#6  0x00007ffff4f94f05 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff4f95248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff4f956ba in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x000000000042e1f1 in ?? ()
#10 0x0000000000430478 in gedit_dbus_run ()
#11 0x0000000000427f03 in main ()

If I close the normal gedit instance, the same command just works.
Maybe this is because I'm using an old gtk version (3.6.4 IIRC), I
didn't have time to compile the latest, just installed the PPA:
pkg-config gtk+-3.0 --modversion
3.6.4

Anyway, I'm commenting this as it may help if someone had the same
issue, at first I thought it was a compilation error, but it seems to
be something else.

Thanks you very much for your help,

Let me know if I can further collaborate, at least in testing ;-)

Best regards,

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.



gui2py_gtk3_broadway_html5_firefox.png (104K) Download Attachment
phoenix_broadway_sized_controls.diff (590 bytes) Download Attachment
phoenix_broadway_wscript2.diff (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: wxPython with wxGTK3/Broadway (HTML5-based) backend

Kolya Kosenko
On 07/15/2013 12:11 AM, Mariano Reingart wrote:
> In the wxpython demo, it seems that most controls works, including AUI!
> Attahed is also a gui2py (pythoncard fork) screenshot running on
> broadway (firefox)!

Nice to see working application.

> BTW, wx.version() still reports '2.9.5.81 gtk2 (phoenix)', maybe it
> should be '2.9.5.81 gtk3 (phoenix)'

Yes, wxGTK3/Broadway build is just slightly modified wxGTK2/X11.

> Is there any way I can know wich gtk backend is using? (x11, wayland,
> broadway, etc...)

No, but probably we should show GDK backend name at least in
Ctrl+Alt+MiddleClick dialog. GTK+3 can be built with multiple backends
simultaneously, so it is needed to check what GDK window or GDK screen
is actually used in runtime.

> It worked with the following configure options:
>
> ../wxWidgets/configure --with-gtk=3 --enable-debug=max --disable-utf8
> --disable-stl --disable-display --disable-mediactrl --without-opengl
> --disable-uiactionsim --disable-webview
>
> I created a bldwx directory (at the same level of wxWidgets and Phoenix ones)
> There I run ../wxWidgets/Configure ... and make, and then in the Phoenix dir:
>
> python build.py dox etg --nodoc sip build_py --build_dir=../bldwx/
>
> Is that ok?

Yes, I also build in the similar way.

> I'd noted that if I have gedit running (non-broadway), and then I try
> to open gedit again under broadway, it raises a segmentation fault
>
> GDK_BACKEND=broadway UBUNTU_MENUPROXY= LIBOVERLAY_SCROLLBAR=0   gedit
> Segmentation Fault (core dumped)
>
> Debugging using gdb:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff6b63f02 in gdk_x11_atom_to_xatom_for_display ()
>     from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
> (gdb) where
> #0  0x00007ffff6b63f02 in gdk_x11_atom_to_xatom_for_display ()
>     from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
> #1  0x0000000000446c52 in gedit_utils_get_current_workspace ()
> #2  0x000000000042ec18 in ?? ()
> #3  0x000000000042ee5a in ?? ()
> #4  0x00007ffff5b5e1d7 in g_simple_async_result_complete ()
>     from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
> #5  0x00007ffff5b5e2d9 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
> #6  0x00007ffff4f94f05 in g_main_context_dispatch ()
>     from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #7  0x00007ffff4f95248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #8  0x00007ffff4f956ba in g_main_loop_run ()
>     from /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #9  0x000000000042e1f1 in ?? ()
> #10 0x0000000000430478 in gedit_dbus_run ()
> #11 0x0000000000427f03 in main ()
>
> If I close the normal gedit instance, the same command just works.
> Maybe this is because I'm using an old gtk version (3.6.4 IIRC), I
> didn't have time to compile the latest, just installed the PPA:
> pkg-config gtk+-3.0 --modversion
> 3.6.4

gedit/X11/Ubuntu can conflict with GTK+/Broadway/3rdparty with a lot of
reasons.

> Thanks you very much for your help,
You are welcome.

Regards,
Kolya.

--
You received this message because you are subscribed to the Google Groups "wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.