Bug 24883

Summary: fails with libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name'
Product: Sisyphus Reporter: Sergey Vlasov <vsu>
Component: python-module-notifyAssignee: Grigory Ustinov <grenka>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: antohami, cas, cow, darktemplar, evg, george, grenka, imz, lav, mithraen, nbr, qa_viy, real.altlinux.org, rider, sem, shaba, sin, slev, vitty, viy
Version: unstable   
Hardware: all   
OS: Linux   
URL: https://bugzilla.redhat.com/show_bug.cgi?id=626852

Description Sergey Vlasov 2011-01-10 00:22:14 MSK
python-module-notify-0.1.1-alt3.1.1

Не работает даже простейший тест:

$ python
Python 2.6.6 (r266:84292, Oct  1 2010, 13:15:00) 
[GCC 4.4.4 20100726 (ALT Linux 4.4.4-alt3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygtk
>>> import pynotify
>>> pynotify.init("Test")

(.:9514): libnotify-WARNING **: Missing symbol 'gdk_screen_make_display_name'
False

Аналогичным образом не работают и вызовы, например, из deluge.

В https://bugzilla.redhat.com/show_bug.cgi?id=626852 описана причина этого явления - libnotify пытается весьма странным образом поддерживать работу одной и той же библиотеки и с GTK2, и с GTK3, но в случае использования из Python этот механизм не работает из-за того, что библиотеки GTK оказываются загруженными через dlopen() без RTLD_GLOBAL, в результате для libnotify нужные символы оказываются недоступны. Правда, в ALT этот механизм всё равно не работает, поскольку libnotify явным образом линкуется с GTK2 (чтобы не допускать недолинковки), но проверка наличия символов при этом не отключена.

Не очень красивый объезд со стороны python-module-notify:

http://pkgs.fedoraproject.org/gitweb/?p=notify-python.git;a=commitdiff;h=aff714b471ab470ce5668db5d03205c18904de88

Хотя, возможно, правильнее было бы лечить эту проблему непосредственно в libnotify.
Comment 1 real@altlinux.org 2011-01-10 06:38:21 MSK
"Хотя, возможно, правильнее было бы лечить эту проблему непосредственно в
libnotify."

Так что делать-то будем? Приложить этот патч я могу. Или правильней будет перевесить эту багу на libnotify?
Comment 2 Repository Robot 2011-01-12 08:28:38 MSK
python-module-notify-0.1.1-alt4 -> sisyphus:

* Wed Jan 12 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux> 0.1.1-alt4
- Fixed init.py so that it is able to load the needed GTK2 symbols from
  pygtk by Tom "spot" Callaway <tcallawa@redhat.com> (ALT #24883)