Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANN: Python GUI development using XULRunner

24 views
Skip to first unread message

Todd Whiteman

unread,
Sep 16, 2008, 9:29:21 PM9/16/08
to pytho...@python.org
I've put together a tutorial that shows off how to build a GUI
application using XULRunner (same architectural components as Firefox
uses) that can be used in conjunction with the Python programming language.

The tutorial covers how to build a Python/XULRunner GUI application:
http://pyxpcomext.mozdev.org/no_wrap/tutorials/pyxulrunner/python_xulrunner_about.html

The details in this tutorial covers the initial setup to full
packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
is possible with a few deviations, I have tried to cover these
deviations where applicable).

Feedback is welcome.

Cheers,
Todd

Don Spaulding

unread,
Sep 17, 2008, 1:56:39 PM9/17/08
to
On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.com> wrote:
> I've put together a tutorial that shows off how to build a GUI
> application using XULRunner (same architectural components as Firefox
> uses) that can be used in conjunction with the Python programming language.
>
> The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap/tutorials/pyxulrunner/python_xul...

>
> The details in this tutorial covers the initial setup to full
> packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
> is possible with a few deviations, I have tried to cover these
> deviations where applicable).
>
> Feedback is welcome.
>
> Cheers,
> Todd

I get to the "Running" step and run into "Couldn't load XPCOM."

Does this work on x86_64? Or have I made a rookie mistake?

xulapp1$ ls
app docs installer pyxpcom_gui_app
xulapp1$ cd pyxpcom_gui_app/
pyxpcom_gui_app$ ls
application.ini components extensions pyxpcom_gui_app
chrome defaults pylib xulrunner
pyxpcom_gui_app$ ./pyxpcom_gui_app
Couldn't load XPCOM.

Todd Whiteman

unread,
Sep 17, 2008, 2:21:20 PM9/17/08
to Don Spaulding, pytho...@python.org
Don Spaulding wrote:
> On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.com> wrote:
>> I've put together a tutorial that shows off how to build a GUI
>> application using XULRunner (same architectural components as Firefox
>> uses) that can be used in conjunction with the Python programming language.
>>
>> The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap/tutorials/pyxulrunner/python_xul...
>
> I get to the "Running" step and run into "Couldn't load XPCOM."
>
> Does this work on x86_64? Or have I made a rookie mistake?

Hi Don,

A good question. Mozilla only provide 32-bit XulRunner applications by
default, you you'll need to install the necessary 32-bit compatability
libraries on your Linux machine, i.e. for Ubuntu it's something like:
sudo apt-get install ia32-libs ia32-libs-gtk

Then you should be able to run the example. You can check the
dependencies using something the following commands, there should be no
missing dependencies:
$ cd pyxpcom_gui_app/xulrunner
$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin

It is possible to use a 64-bit version, but you'll need to compile this
yourself (or find somewhere that provides these x86_64 versions). Note
that the PythonExt project does not offer Python bindings for x86_64
either (it's on my todo list), you can compile the PythonExt part
yourself as well if you need a 64-bit version.

Cheers,
Todd

sup...@mysfdomain.com

unread,
Sep 17, 2008, 4:12:49 PM9/17/08
to

Interesting, I'm running Ubuntu Intrepid here, and have both ia32-libs
and ia32-libs-gtk installed.

ldd shows that I'm missing the following libs, even though the proper
packages are installed, and the files show up in /usr/lib.

libxcb-render-util.so.0 => not found
libxcb-render.so.0 => not found

There's also /usr/lib/libxcb-render.so.0.0.0 and the same for render-
util, so I wonder if that could be part of the problem?


Don

/me never knew how to get out of DLL hell on Windows either ;-)

Don Spaulding

unread,
Sep 17, 2008, 4:14:55 PM9/17/08
to
Oh, and Google's single sign-on sucks eggs :-|

Fred Pacquier

unread,
Sep 17, 2008, 5:34:06 PM9/17/08
to
Todd Whiteman <to...@activestate.com> said :

Thanks for making good on your promise. I'm leaving for a trip but have it
bookmarked for later use :-)

Todd Whiteman

unread,
Sep 17, 2008, 6:53:29 PM9/17/08
to sup...@mysfdomain.com, pytho...@python.org

Hi Don,

I'm thinking there may be additional 32-bit packages necessary then (I'm
not sure which package).

Not sure about Ubuntu 8.10 (it's still alpha). I'm using a Ubuntu 8.04
x86_64 machine and my dependencies list the following for the latest
32-bit build of XulRunner:

$ LD_LIBRARY_PATH=. ldd ./xulrunner-bin | grep libxcb
libxcb-xlib.so.0 => /usr/lib32/libxcb-xlib.so.0 (0xf6493000)
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf647b000)

Cheers,
Todd

Riccardo Galli

unread,
Sep 18, 2008, 9:31:08 AM9/18/08
to
On 17 Set, 03:29, Todd Whiteman <to...@activestate.com> wrote:
> I've put together a tutorial that shows off how to build a GUI
> application using XULRunner (same architectural components as Firefox
> uses) that can be used in conjunction with the Python programming language.
>
> The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap/tutorials/pyxulrunner/python_xul...

>
> The details in this tutorial covers the initial setup to full
> packaging/deployment, mostly targeting a Windows/Linux platform (MacOSX
> is possible with a few deviations, I have tried to cover these
> deviations where applicable).
>
> Feedback is welcome.
>
> Cheers,
> Todd

well, it just works.
Now let's see how :-)

Nice job,
Riccardo

p.s. I'm on a Gentoo Linux 64 bit, no problems at all

Don Spaulding

unread,
Sep 18, 2008, 11:25:25 AM9/18/08
to
On Sep 17, 5:53 pm, Todd Whiteman <to...@activestate.com> wrote:

No worries Todd, it is alpha. It was a very recent bug in the 8.10
ia32-libs package, which is now fixed :-D

Thanks for the excellent writeup, BTW! I've been wondering what was
involved in doing this for a while, it just never made it up my
priority list to figure out. Again, thanks!

Joe Hrbek

unread,
Sep 24, 2008, 3:24:32 PM9/24/08
to
Todd, this is great! Thanks for your work on this. I've been using
your extension for awhile, successfully creating little apps. Your
gui_app template has been a huge help in advancing my understanding of
how things fit together...takes some of the guesswork out. :) Thanks
again,

-j

On Sep 16, 8:29 pm, Todd Whiteman <to...@activestate.com> wrote:

> I've put together a tutorial that shows off how to build a GUI
> application using XULRunner (same architectural components as Firefox
> uses) that can be used in conjunction with the Python programming language.
>

> The tutorial covers how to build a Python/XULRunner GUI application:http://pyxpcomext.mozdev.org/no_wrap/tutorials/pyxulrunner/python_xul...

0 new messages