PyGTK (Его никто не видит)

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

PyGTK

Сообщение frost666dark »

Короче проблема такая: Надо было установить chestnut_dialer с поддержкой pyGTK.

Код: Выделить всё

----------------cut------------------
checking Python module gettext... yes
checking Python module gobject... yes
checking Python module gtk... no
checking Python module gtk.glade... no
checking Python module qt... no
----------------cut------------------


Python 2.4 установлен, pyGTK 2.8.6 установлена.

При попытке проверить модули через python выдает следущее:

Код: Выделить всё

$ python
Python 2.4.1 (#1, Apr 10 2005, 22:30:36)
[GCC 3.3.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygtk; pygtk.require('2.0')
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/home/storage/build/package-pygtk/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 45, in ?
  File "/usr/lib/python2.4/site-packages/cairo/__init__.py", line 1, in ?
    from _cairo import *
ImportError: /usr/lib/python2.4/site-packages/cairo/_cairo.so: undefined symbol: cairo_pdf_surface_set_dpi


Что с этим делать непойму... :(
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

Я все таки так предполагаю что их как то вручную добавлять надо?

Удалил pycairo-1.0.2, теперь стало так:

Код: Выделить всё

>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 45, in ?
    from _gtk import *
AttributeError: 'module' object has no attribute 'CAPI'


Хрень какая то... :(
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

Судя по всему, нужно установить либо обновить Cairo. См. вывод "ldd /usr/lib/python2.4/site-packages/cairo/_cairo.so" на предмет недостающих модулей и/или функций в этих модулях.

Стоит посомтреть описание PyGTK на предмет требуемых версий libcairomm.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

Сегодня еще попробую поставить libglade-2.6 и pycairo-1.2.2 из исходников, посмотрю что получится...

В README pyGTK написано:

If your Python interpreter isn't in the path, or is not called
"python", you can set the PYTHON environment variable to the full path
of the interpreter:

$ PYTHON=/prefix/bin/python
$ export PYTHON


Чтобы это значило точно непонял но что то уже ближе к теме :)



Кстати...

Код: Выделить всё

~$ ldd /usr/lib/python2.4/site-packages/cairo/_cairo.so
        linux-gate.so.1 =>  (0xb7f1a000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb7ea9000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7d8c000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7d22000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7cfb000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7cca000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7cb8000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb7cb0000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7c9f000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7c96000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7c7e000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7b86000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7b63000)
        /lib/ld-linux.so.2 (0x80000000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7b42000)
        libXau.so.6 => /usr/X11R7/lib/libXau.so.6 (0xb7b3f000)
        libXdmcp.so.6 => /usr/X11R7/lib/libXdmcp.so.6 (0xb7b3a000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7b36000)
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

В таком случае см. "objdump -x /usr/lib/python2.4/site-packages/cairo/_cairo.so". Надо полагать, что он не найдет нужных функций в libcairo.so.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

Вот:

Код: Выделить всё

~$ objdump -x /usr/lib/python2.4/site-packages/cairo/_cairo.so

/usr/lib/python2.4/site-packages/cairo/_cairo.so:     file format elf32-i386
/usr/lib/python2.4/site-packages/cairo/_cairo.so
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00004040

Program Header:
    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x0000b3ac memsz 0x0000b3ac flags r-x
    LOAD off    0x0000b3ac vaddr 0x0000c3ac paddr 0x0000c3ac align 2**12
         filesz 0x000019c4 memsz 0x00001a0c flags rw-
 DYNAMIC off    0x0000b3c0 vaddr 0x0000c3c0 paddr 0x0000c3c0 align 2**2
         filesz 0x000000d0 memsz 0x000000d0 flags rw-
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-

Dynamic Section:
  NEEDED      libcairo.so.2
  NEEDED      libc.so.6
  SONAME      _cairo.so
  INIT        0x3520
  FINI        0x9d40
  HASH        0xb4
  STRTAB      0x13c0
  SYMTAB      0x700
  STRSZ       0xf18
  SYMENT      0x10
  PLTGOT      0xc50c
  PLTRELSZ    0x578
  PLTREL      0x11
  JMPREL      0x2fa8
  REL         0x24b0
  RELSZ       0xaf8
  RELENT      0x8
  VERNEED     0x2470
  VERNEEDNUM  0x1
  VERSYM      0x22d8
  RELCOUNT    0x14e

Version References:
  required from libc.so.6:
    0x09691f73 0x00 04 GLIBC_2.1.3
    0x0d696911 0x00 03 GLIBC_2.1
    0x0d696910 0x00 02 GLIBC_2.0

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .hash         0000064c  000000b4  000000b4  000000b4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .dynsym       00000cc0  00000700  00000700  00000700  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .dynstr       00000f18  000013c0  000013c0  000013c0  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .gnu.version  00000198  000022d8  000022d8  000022d8  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .gnu.version_r 00000040  00002470  00002470  00002470  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .rel.dyn      00000af8  000024b0  000024b0  000024b0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .rel.plt      00000578  00002fa8  00002fa8  00002fa8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .init         00000017  00003520  00003520  00003520  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  8 .plt          00000b00  00003538  00003538  00003538  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  9 .text         00005d00  00004040  00004040  00004040  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .fini         0000001b  00009d40  00009d40  00009d40  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .rodata       00001646  00009d60  00009d60  00009d60  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 12 .eh_frame     00000004  0000b3a8  0000b3a8  0000b3a8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 13 .ctors        00000008  0000c3ac  0000c3ac  0000b3ac  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 14 .dtors        00000008  0000c3b4  0000c3b4  0000b3b4  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 15 .jcr          00000004  0000c3bc  0000c3bc  0000b3bc  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 16 .dynamic      000000d0  0000c3c0  0000c3c0  0000b3c0  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 17 .got          0000007c  0000c490  0000c490  0000b490  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 18 .got.plt      000002c8  0000c50c  0000c50c  0000b50c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 19 .data         00001590  0000c7e0  0000c7e0  0000b7e0  2**5
                  CONTENTS, ALLOC, LOAD, DATA
 20 .bss          00000048  0000dd70  0000dd70  0000cd70  2**2
                  ALLOC
 21 .comment      000000c6  00000000  00000000  0000cd70  2**0
                  CONTENTS, READONLY
SYMBOL TABLE:
no symbols
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

Упс... Таблица символов вырезана. Тем не менее _cairo.so явно ссылается на отсутствующий символ в libcairo.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

А вот как найти на какой? Тогда вопрос такой: как правильно скомпилить libcairo?
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

Ну так нужно почитать требования вашей версии PyGTK к версии libcairo.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

Скачал pycairo-1.2.2 но при: ./configure --disable-debug --prefix=/usr вижу такую строчку:

Код: Выделить всё

--------------------cut----------------------------
checking for GTK... Requested 'pygtk-2.0 < 2.7.0' but version of PyGTK is 2.8.6
--------------------cut----------------------------


Тк мне надо поставить pyGTK 2.7 а потом pycairo или можно забить на это?
А если честно то я уже вообще в конец запутался в чем проблема... :(

Вот что написано в RADME pyGTK 2.8.6

Requirements
============
* C compiler (GCC and MSVC supported)
* Python 2.3.5 or higher
* Glib 2.8.0 or higher
* Gtk+ 2.8.0 or higher (optional)
* libglade 2.5.0 or higher (optional)
* pycairo 0.5.0 or higher (optional)
* Numeric (optional)


Как видите про libcairo не слова...
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

Значит нужно обновить pycairo, так, чтобы он работал с pygtk>=2.7.0, либо "устарить" pygtk до < 2.7.0.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

А не поскажите где скачать pycsiro выше 1.2.2 , а то я ftp серваке (непомню на каком) нашел только 1.2.2 :(

Да и вот еще какая заморочка получается: Кто кого требует больше? pyGTK требует pycairo или наоборот?
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: PyGTK

Сообщение serzh-z »

Думается, новый PyGTK требует PyCairo. Хотя я уже и сам сомневаюсь - кто кого. :-\

М-да уж, забавно - на оффсайте pycairo посл. версия 1.2.2. Значит остается вариант с даунгрейдом PyGTK.

А вообще - неблагодарное это дело - пытаться самому свести вместе эту кучу маленьких и вечно конфликтных библиотек и пакетов.
Спасибо сказали:
Аватара пользователя
frost666dark
Сообщения: 346
ОС: archlinux

Re: PyGTK

Сообщение frost666dark »

Получилось только с даунгрейдом... Поставил сначала pyGTK 2.6.2 а потом pycairo 1.2.2 и все заработало!
PS: Слакварщики приглашаются slackware@conference.jabber.ru
Спасибо сказали: