From ondrej.grover@gmail.com  Sun Jan 31 09:04:21 2016
Received: (at submit) by bugs.x2go.org; 31 Jan 2016 08:04:23 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=0.7 required=3.0 tests=BAYES_50,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,URIBL_BLOCKED
	autolearn=ham version=3.3.2
Received: from localhost (localhost [127.0.0.1])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTP id 9BAA03BC4B
	for <submit@bugs.x2go.org>; Sun, 31 Jan 2016 09:04:21 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at ymir.das-netzwerkteam.de
Received: from ymir.das-netzwerkteam.de ([127.0.0.1])
	by localhost (ymir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id Z1kv2zUCFiy7 for <submit@bugs.x2go.org>;
	Sun, 31 Jan 2016 09:04:21 +0100 (CET)
Received: from mail-lf0-f53.google.com (mail-lf0-f53.google.com [209.85.215.53])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id F1F1B3BC4A
	for <submit@bugs.x2go.org>; Sun, 31 Jan 2016 09:04:20 +0100 (CET)
Received: by mail-lf0-f53.google.com with SMTP id 78so30686569lfy.3
        for <submit@bugs.x2go.org>; Sun, 31 Jan 2016 00:04:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=mime-version:from:date:message-id:subject:to:content-type;
        bh=317k8fjdpf+8PALA7eo7fv+XO6SpOnq9QDCzHzVxUq0=;
        b=0Yrpe/AAMxU90CKlp8H5cbBiWa9XVQE2oPhRb/xAdkzwYIdTnEsZGPRGlILO/3lL4y
         5rNagZhvxZ20pT9TmvqaVyjcJehNBQatzq8wyLF9EzitbrX9w2Sa8/oDBxZBMKR5trxv
         B9vOlxt6Q2ZttwkoqR2hDaCzQzf46Htmwt1cl4IktMxMehyg/MRxHACpDZZZZKwCynAR
         zLKjGmLoWNHF5COkuCUS+LxH8QoT+XTYnAMsmH26AnqOjg04DCfYxM7ACtmbQ8kGQf0N
         ih5sGPOaX+SVn2sepIvyAVzUoNf5nId7gR3Y0W6UuHEGpI7qxB1a7Ve6ChEekLqqEtQ7
         sF8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to
         :content-type;
        bh=317k8fjdpf+8PALA7eo7fv+XO6SpOnq9QDCzHzVxUq0=;
        b=NiUfxiciTLB9WFdXHlFozH3jpdEOsMpliXofF/vaZIRRAVeI0i586Bd2rsAjJlqLCH
         oAv3EpCU6L6JEc1XMPtQM7ieiLZwL1flXGVPd6Taf3ChlqpJRHNv8SB7lYPhFNAQAnFl
         y82cZM30cRYEE/vaCMK24IF46lqE7CrHmcSrHv1qyjN2Yx488OLLYZghT61zoLeIsyhh
         JRX0VRu7DVTmw+HZyrN9fmeOboCQd1t7/7bZrB8NwPbwO13Gh9yGRDVCPaU6wGIcZjd4
         SnVn5dD8OWyl7wgRCzIjQka3vzYMAr0qyt9GHt7mEHHzct5OOOzYEoOELyWI14+pS5sC
         hmZA==
X-Gm-Message-State: AG10YOQFY6R3jm0E2rgFvu7+2oAbN2IIhlX4kAg/0XWSNUtdwv/rarSeY+jcg8dyIw9eGTMm3cculs+HFeiMQg==
X-Received: by 10.25.20.165 with SMTP id 37mr3680720lfu.53.1454227460406; Sun,
 31 Jan 2016 00:04:20 -0800 (PST)
MIME-Version: 1.0
Received: by 10.114.24.202 with HTTP; Sun, 31 Jan 2016 00:04:01 -0800 (PST)
From: =?UTF-8?Q?Ond=C5=99ej_Grover?= <ondrej.grover@gmail.com>
Date: Sun, 31 Jan 2016 09:04:01 +0100
Message-ID: <CAOyjJOKY4VpqcqKJ2St58tepAgKipgdc=TeGJtgsFpZf5qccdA@mail.gmail.com>
Subject: pyhoca-gui fails to fall back to Gtk-2.0 notifications (pynotify)
To: submit@bugs.x2go.org
Content-Type: multipart/alternative; boundary=001a113fbec83342bf052a9cb7c8

--001a113fbec83342bf052a9cb7c8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Package: pyhoca-gui
Version: 0.5.0.5-0x2go1+git20160128.1329+jessie.main.1

Dear maintainers,

I believe commit e44e848415eff3e4dab69e990adfc447e79143f8 which introduced
GTK3 notification support broke GTK2 notification support fallback. The
problem was not present in 0.5.0.4

I believe the problem lies in this import construct in
pyhoca/wxgui/notify.py which will fail the same way even when put alone in
a file

try:
    from gi.repository import Notify as _Notify
except ImportError:
    import pynotify as _Notify

I think the problem is that even if the GTK3 Notify module is not
available, many GTK3 libraries get loaded and then the pynotify import
fails with

ImportError: could not import gobject (could not find _PyGObject_API object=
)

This is the same exception I see when running pyhoca-gui.

I think some more sophisticated GTK version selection mechanism is needed,
one that would not start loading conflicting libraries.

As a workaround for now I just removed that GTK3 import on my system.

My system is Debian 8.3 Jessie with the following (possibly relevant) gtk
packages installed

dpkg -l | grep '^.i.*gtk[23].*'

ii  libavahi-ui-gtk3-0:amd64               0.6.31-5
               amd64        Avahi GTK+ User interface library for GTK3
ii  libcanberra-gtk3-0:amd64               0.30-2.1
               amd64        GTK+ 3.0 helper for playing widget event sounds
with libcanberra
ii  libcanberra-gtk3-module:amd64          0.30-2.1
               amd64        translates GTK3 widgets signals to event sounds
ii  libdbusmenu-gtk3-4:amd64               12.10.2-1
                amd64        library for passing menus over DBus - GTK+
version
ii  libgirara-gtk3-1:amd64                 0.2.3-1
                amd64        library for minimalistic user interfaces
(shared libraries, GTK+ 3)
ii  libgtk2-ex-podviewer-perl              0.18-1
               all          Perl Gtk2 widget for displaying Plain Old
Documentation (POD)
ii  libgtk2-ex-simple-list-perl            0.50-2
               all          simple interface to Gtk2's complex MVC list
widget
ii  libgtk2-imageview-perl                 0.05-2+b1
                amd64        Perl bindings for the GtkImageView image
viewer widget
ii  libgtk2-perl                           2:1.2492-4
               amd64        Perl interface to the 2.x series of the Gimp
Toolkit library
ii  libgtk2.0-0:amd64                      2.24.25-3
                amd64        GTK+ graphical user interface library
ii  libgtk2.0-bin                          2.24.25-3
                amd64        programs for the GTK+ graphical user interface
library
ii  libgtk2.0-common                       2.24.25-3
                all          common files for the GTK+ graphical user
interface library
ii  libwxgtk3.0-0:amd64                    3.0.2-1+b1
               amd64        wxWidgets Cross-platform C++ GUI toolkit (GTK+
runtime
ii  pinentry-gtk2                          0.8.3-2
                amd64        GTK+-2-based PIN or pass-phrase entry dialog
for GnuPG
ii  python-gtk2                            2.24.0-4
               amd64        Python bindings for the GTK+ widget set
ii  python-wxgtk3.0                        3.0.1.1+dfsg-2
               amd64        Python interface to the wxWidgets
Cross-platform C++ GUI toolkit

Kind regards,
Ond=C5=99ej Grover

--001a113fbec83342bf052a9cb7c8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj5QYWNrYWdlOiBweWhvY2EtZ3VpPC9kaXY+PGRpdj5WZXJzaW9u
OiAwLjUuMC41LTB4MmdvMStnaXQyMDE2MDEyOC4xMzI5K2plc3NpZS5tYWluLjE8L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2PkRlYXIgbWFpbnRhaW5lcnMsPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp
dj5JIGJlbGlldmUgY29tbWl0wqBlNDRlODQ4NDE1ZWZmM2U0ZGFiNjllOTkwYWRmYzQ0N2U3OTE0
M2Y4IHdoaWNoIGludHJvZHVjZWQgR1RLMyBub3RpZmljYXRpb24gc3VwcG9ydCBicm9rZSBHVEsy
IG5vdGlmaWNhdGlvbiBzdXBwb3J0IGZhbGxiYWNrLiBUaGUgcHJvYmxlbSB3YXMgbm90IHByZXNl
bnQgaW4gMC41LjAuNDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBiZWxpZXZlIHRoZSBwcm9i
bGVtIGxpZXMgaW4gdGhpcyBpbXBvcnQgY29uc3RydWN0IGluIHB5aG9jYS93eGd1aS9ub3RpZnku
cHnCoHdoaWNoIHdpbGwgZmFpbCB0aGUgc2FtZSB3YXkgZXZlbiB3aGVuIHB1dCBhbG9uZSBpbiBh
IGZpbGU8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+dHJ5OjwvZGl2PjxkaXY+wqAgwqAg
ZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBOb3RpZnkgYXMgX05vdGlmeTwvZGl2PjxkaXY+ZXhj
ZXB0IEltcG9ydEVycm9yOjwvZGl2PjxkaXY+wqAgwqAgaW1wb3J0IHB5bm90aWZ5IGFzIF9Ob3Rp
Znk8L2Rpdj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgdGhpbmsgdGhlIHByb2JsZW0gaXMg
dGhhdCBldmVuIGlmIHRoZSBHVEszIE5vdGlmeSBtb2R1bGUgaXMgbm90IGF2YWlsYWJsZSwgbWFu
eSBHVEszIGxpYnJhcmllcyBnZXQgbG9hZGVkIGFuZCB0aGVuIHRoZSBweW5vdGlmeSBpbXBvcnQg
ZmFpbHMgd2l0aMKgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JbXBvcnRFcnJvcjogY291bGQg
bm90IGltcG9ydCBnb2JqZWN0IChjb3VsZCBub3QgZmluZCBfUHlHT2JqZWN0X0FQSSBvYmplY3Qp
PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhpcyBpcyB0aGUgc2FtZSBleGNlcHRpb24g
SSBzZWUgd2hlbiBydW5uaW5nIHB5aG9jYS1ndWkuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5J
IHRoaW5rIHNvbWUgbW9yZSBzb3BoaXN0aWNhdGVkIEdUSyB2ZXJzaW9uIHNlbGVjdGlvbiBtZWNo
YW5pc20gaXMgbmVlZGVkLCBvbmUgdGhhdCB3b3VsZCBub3Qgc3RhcnQgbG9hZGluZyBjb25mbGlj
dGluZyBsaWJyYXJpZXMuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BcyBhIHdvcmthcm91bmQg
Zm9yIG5vdyBJIGp1c3QgcmVtb3ZlZCB0aGF0IEdUSzMgaW1wb3J0IG9uIG15IHN5c3RlbS48YnI+
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5NeSBzeXN0ZW0gaXMgRGViaWFuIDguMyBKZXNzaWUg
d2l0aCB0aGUgZm9sbG93aW5nIChwb3NzaWJseSByZWxldmFudCkgZ3RrIHBhY2thZ2VzIGluc3Rh
bGxlZDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRpdj5kcGtnIC1sIHwgZ3JlcCAmIzM5O14u
aS4qZ3RrWzIzXS4qJiMzOTsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqDCoDwvZGl2Pjxk
aXY+aWkgwqBsaWJhdmFoaS11aS1ndGszLTA6YW1kNjQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMC42
LjMxLTUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqBhbWQ2NCDCoCDCoCDCoCDCoEF2YWhpIEdUSysgVXNlciBpbnRlcmZhY2UgbGlicmFy
eSBmb3IgR1RLMzwvZGl2PjxkaXY+aWkgwqBsaWJjYW5iZXJyYS1ndGszLTA6YW1kNjQgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgMC4zMC0yLjEgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBhbWQ2NCDCoCDCoCDCoCDCoEdUSysgMy4wIGhlbHBl
ciBmb3IgcGxheWluZyB3aWRnZXQgZXZlbnQgc291bmRzIHdpdGggbGliY2FuYmVycmE8L2Rpdj48
ZGl2PmlpIMKgbGliY2FuYmVycmEtZ3RrMy1tb2R1bGU6YW1kNjQgwqAgwqAgwqAgwqAgwqAwLjMw
LTIuMSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoGFtZDY0IMKgIMKgIMKgIMKgdHJhbnNsYXRlcyBHVEszIHdpZGdldHMgc2lnbmFscyB0
byBldmVudCBzb3VuZHM8L2Rpdj48ZGl2PmlpIMKgbGliZGJ1c21lbnUtZ3RrMy00OmFtZDY0IMKg
IMKgIMKgIMKgIMKgIMKgIMKgIDEyLjEwLjItMSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBhbWQ2NCDCoCDCoCDCoCDCoGxpYnJhcnkgZm9y
IHBhc3NpbmcgbWVudXMgb3ZlciBEQnVzIC0gR1RLKyB2ZXJzaW9uPC9kaXY+PGRpdj5paSDCoGxp
YmdpcmFyYS1ndGszLTE6YW1kNjQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMC4yLjMtMSDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBh
bWQ2NCDCoCDCoCDCoCDCoGxpYnJhcnkgZm9yIG1pbmltYWxpc3RpYyB1c2VyIGludGVyZmFjZXMg
KHNoYXJlZCBsaWJyYXJpZXMsIEdUSysgMyk8L2Rpdj48ZGl2PmlpIMKgbGliZ3RrMi1leC1wb2R2
aWV3ZXItcGVybCDCoCDCoCDCoCDCoCDCoCDCoCDCoDAuMTgtMSDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFsbCDCoCDCoCDCoCDC
oCDCoFBlcmwgR3RrMiB3aWRnZXQgZm9yIGRpc3BsYXlpbmcgUGxhaW4gT2xkIERvY3VtZW50YXRp
b24gKFBPRCk8L2Rpdj48ZGl2PmlpIMKgbGliZ3RrMi1leC1zaW1wbGUtbGlzdC1wZXJsIMKgIMKg
IMKgIMKgIMKgIMKgMC41MC0yIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYWxsIMKgIMKgIMKgIMKgIMKgc2ltcGxlIGludGVyZmFj
ZSB0byBHdGsyJiMzOTtzIGNvbXBsZXggTVZDIGxpc3Qgd2lkZ2V0PC9kaXY+PGRpdj5paSDCoGxp
Ymd0azItaW1hZ2V2aWV3LXBlcmwgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMC4wNS0yK2IxIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGFt
ZDY0IMKgIMKgIMKgIMKgUGVybCBiaW5kaW5ncyBmb3IgdGhlIEd0a0ltYWdlVmlldyBpbWFnZSB2
aWV3ZXIgd2lkZ2V0PC9kaXY+PGRpdj5paSDCoGxpYmd0azItcGVybCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAyOjEuMjQ5Mi00IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYW1kNjQgwqAgwqAgwqAgwqBQZXJsIGlu
dGVyZmFjZSB0byB0aGUgMi54IHNlcmllcyBvZiB0aGUgR2ltcCBUb29sa2l0IGxpYnJhcnk8L2Rp
dj48ZGl2PmlpIMKgbGliZ3RrMi4wLTA6YW1kNjQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAyLjI0LjI1LTMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgYW1kNjQgwqAgwqAgwqAgwqBHVEsrIGdyYXBoaWNhbCB1c2VyIGludGVy
ZmFjZSBsaWJyYXJ5PC9kaXY+PGRpdj5paSDCoGxpYmd0azIuMC1iaW4gwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAyLjI0LjI1LTMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYW1kNjQgwqAgwqAgwqAgwqBwcm9ncmFt
cyBmb3IgdGhlIEdUSysgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIGxpYnJhcnk8L2Rpdj48ZGl2
PmlpIMKgbGliZ3RrMi4wLWNvbW1vbiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAy
LjI0LjI1LTMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgYWxsIMKgIMKgIMKgIMKgIMKgY29tbW9uIGZpbGVzIGZvciB0aGUgR1RLKyBncmFw
aGljYWwgdXNlciBpbnRlcmZhY2UgbGlicmFyeTwvZGl2PjxkaXY+aWkgwqBsaWJ3eGd0azMuMC0w
OmFtZDY0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMy4wLjItMStiMSDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFtZDY0IMKgIMKg
IMKgIMKgd3hXaWRnZXRzIENyb3NzLXBsYXRmb3JtIEMrKyBHVUkgdG9vbGtpdCAoR1RLKyBydW50
aW1lPC9kaXY+PGRpdj5paSDCoHBpbmVudHJ5LWd0azIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAwLjguMy0yIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGFtZDY0IMKgIMKgIMKgIMKgR1RLKy0yLWJhc2VkIFBJ
TiBvciBwYXNzLXBocmFzZSBlbnRyeSBkaWFsb2cgZm9yIEdudVBHPC9kaXY+PGRpdj5paSDCoHB5
dGhvbi1ndGsyIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMi4yNC4w
LTQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqBhbWQ2NCDCoCDCoCDCoCDCoFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIEdUSysgd2lkZ2V0
IHNldDwvZGl2PjxkaXY+aWkgwqBweXRob24td3hndGszLjAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAzLjAuMS4xK2Rmc2ctMiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGFtZDY0IMKgIMKgIMKgIMKgUHl0aG9uIGludGVyZmFjZSB0
byB0aGUgd3hXaWRnZXRzIENyb3NzLXBsYXRmb3JtIEMrKyBHVUkgdG9vbGtpdDwvZGl2PjwvZGl2
PjxkaXY+PGJyPjwvZGl2PjxkaXY+S2luZCByZWdhcmRzLDwvZGl2PjxkaXY+T25kxZllaiBHcm92
ZXI8L2Rpdj48L2Rpdj4NCg==
--001a113fbec83342bf052a9cb7c8--

