LINUX.ORG.RU

Проблема с Python2 gtk в Arch

 , ,


0

1

Устал биться, не могу забороть. Скрипты на втором пайтоне ругаются - «Fatal Python error: can't initialize module gtk.gtkgl»

Установленные пакеты:
Name : pygtk
Version : 2.24.0-12

Name : python2-gtkglext
Version : 1.1.0-8

OS Arch
Kernrel 4.19.115-rt48-1-rt-lts

Python 2.7.18 (default, Apr 23 2020, 22:32:06) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>> help(gtk)
PACKAGE CONTENTS
    _gtk
    _lazyutils
    compat
    deprecation
    gdkgl (package)
    glade
    gtkgl (package)
    keysyms
>>> import gtk.gtkgl
Fatal Python error: can't initialize module gtk.gtkgl
Aborted (core dumped)

Что смотреть, куда копать?

Ответ на: комментарий от xDShot

Вот:

                Stack trace of thread 39210:
                #0  0x00007ff87791e2e5 raise (libc.so.6 + 0x3c2e5)
                #1  0x00007ff877907853 abort (libc.so.6 + 0x25853)
                #2  0x00007ff877704532 Py_FatalError (libpython2.7.so.1.0 + 0x49532)
                #3  0x00007ff876d5231a init_gtkgl (_gtkgl.so + 0x231a)
                #4  0x00007ff8777ed1e2 _PyImport_LoadDynamicModule (libpython2.7.so.1.0 + 0x1321e2)
                #5  0x00007ff877766b47 load_next (libpython2.7.so.1.0 + 0xabb47)
                #6  0x00007ff877767651 PyImport_ImportModuleLevel (libpython2.7.so.1.0 + 0xac651)
                #7  0x00007ff877782b2a builtin___import__.lto_priv.0 (libpython2.7.so.1.0 + 0xc7b2a)
                #8  0x00007ff8777d0453 PyObject_Call (libpython2.7.so.1.0 + 0x115453)
                #9  0x00007ff877775882 PyEval_CallObjectWithKeywords (libpython2.7.so.1.0 + 0xba882)
                #10 0x00007ff87777a4e4 PyEval_EvalFrameEx (libpython2.7.so.1.0 + 0xbf4e4)
                #11 0x00007ff877775be6 PyEval_EvalCodeEx (libpython2.7.so.1.0 + 0xbabe6)
                #12 0x00007ff877776a97 PyEval_EvalCode (libpython2.7.so.1.0 + 0xbba97)
                #13 0x00007ff8777ee062 PyImport_ExecCodeModuleEx (libpython2.7.so.1.0 + 0x133062)
                #14 0x00007ff8777ee25e load_source_module (libpython2.7.so.1.0 + 0x13325e)
                #15 0x00007ff8777eec63 load_package (libpython2.7.so.1.0 + 0x133c63)
                #16 0x00007ff877766b47 load_next (libpython2.7.so.1.0 + 0xabb47)
                #17 0x00007ff877767858 PyImport_ImportModuleLevel (libpython2.7.so.1.0 + 0xac858)
                #18 0x00007ff877782b2a builtin___import__.lto_priv.0 (libpython2.7.so.1.0 + 0xc7b2a)
                #19 0x00007ff8777d0453 PyObject_Call (libpython2.7.so.1.0 + 0x115453)
                #20 0x00007ff877775882 PyEval_CallObjectWithKeywords (libpython2.7.so.1.0 + 0xba882)
                #21 0x00007ff87777a4e4 PyEval_EvalFrameEx (libpython2.7.so.1.0 + 0xbf4e4)
                #22 0x00007ff877775be6 PyEval_EvalCodeEx (libpython2.7.so.1.0 + 0xbabe6)
                #23 0x00007ff877776a97 PyEval_EvalCode (libpython2.7.so.1.0 + 0xbba97)
                #24 0x00007ff8777eaec2 run_mod (libpython2.7.so.1.0 + 0x12fec2)
                #25 0x00007ff8777071f3 PyRun_InteractiveOneFlags (libpython2.7.so.1.0 + 0x4c1f3)
                #26 0x00007ff877707357 PyRun_InteractiveLoopFlags (libpython2.7.so.1.0 + 0x4c357)
                #27 0x00007ff8777073a2 PyRun_AnyFileExFlags.cold (libpython2.7.so.1.0 + 0x4c3a2)
                #28 0x00007ff8777e8aba Py_Main (libpython2.7.so.1.0 + 0x12daba)
                #29 0x00007ff877909002 __libc_start_main (libc.so.6 + 0x27002)
                #30 0x0000558c33a1405e _start (python2.7 + 0x105e)
pavel_l ()
Последнее исправление: pavel_l (всего исправлений: 1)
Ответ на: комментарий от pavel_l

да тут не желание нужно, тут острая необходимость. У меня в арче за последние месяца два последние пакетов 5-6 переехали на третий питон, я наконец-то второй удалил полностью. а к концу года таких пакетов станет ещё больше.

ZERG ★★★★★ ()

Это ошибка в gtkglmodule.c, в этом методе он регистрирует все видимые классы из GtkGLExt. Если какая-то из зависимостей не подключилась, оно падает с такой ошибкой

Проверь, что:

  • Версия питоновской so-шки подходит твоей версии PyGtk и PyGtkGLExt
  • В PATH находится путь до правильных бинарников Gtk-2.24.x and GtkGLExt
  • В PYTHON_PATH находится путь до правильных библиотек PyGtk и libGlade
stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

А GtkGLExt это разве не библиотека? Что то я там бинарников не наблюдаю

pacman -Ql gtkglext
gtkglext /usr/
gtkglext /usr/include/
gtkglext /usr/include/gtkglext-1.0/
gtkglext /usr/include/gtkglext-1.0/gdk/
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgl.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglconfig.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglcontext.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgldebug.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgldefs.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgldrawable.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglenumtypes.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglfont.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglglext.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglinit.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglpixmap.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglquery.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglshapes.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgltokens.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkgltypes.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglversion.h
gtkglext /usr/include/gtkglext-1.0/gdk/gdkglwindow.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/
gtkglext /usr/include/gtkglext-1.0/gdk/glext/glext-extra.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/glext.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/glxext-extra.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/glxext.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/wglext-extra.h
gtkglext /usr/include/gtkglext-1.0/gdk/glext/wglext.h
gtkglext /usr/include/gtkglext-1.0/gdk/x11/
gtkglext /usr/include/gtkglext-1.0/gdk/x11/gdkglglxext.h
gtkglext /usr/include/gtkglext-1.0/gdk/x11/gdkglx.h
gtkglext /usr/include/gtkglext-1.0/gtk/
gtkglext /usr/include/gtkglext-1.0/gtk/gtkgl.h
gtkglext /usr/include/gtkglext-1.0/gtk/gtkgldebug.h
gtkglext /usr/include/gtkglext-1.0/gtk/gtkgldefs.h
gtkglext /usr/include/gtkglext-1.0/gtk/gtkglinit.h
gtkglext /usr/include/gtkglext-1.0/gtk/gtkglversion.h
gtkglext /usr/include/gtkglext-1.0/gtk/gtkglwidget.h
gtkglext /usr/lib/
gtkglext /usr/lib/gtkglext-1.0/
gtkglext /usr/lib/gtkglext-1.0/include/
gtkglext /usr/lib/gtkglext-1.0/include/gdkglext-config.h
gtkglext /usr/lib/libgdkglext-x11-1.0.so
gtkglext /usr/lib/libgdkglext-x11-1.0.so.0
gtkglext /usr/lib/libgdkglext-x11-1.0.so.0.0.0
gtkglext /usr/lib/libgtkglext-x11-1.0.so
gtkglext /usr/lib/libgtkglext-x11-1.0.so.0
gtkglext /usr/lib/libgtkglext-x11-1.0.so.0.0.0
gtkglext /usr/lib/pkgconfig/
gtkglext /usr/lib/pkgconfig/gdkglext-1.0.pc
gtkglext /usr/lib/pkgconfig/gdkglext-x11-1.0.pc
gtkglext /usr/lib/pkgconfig/gtkglext-1.0.pc
gtkglext /usr/lib/pkgconfig/gtkglext-x11-1.0.pc
gtkglext /usr/share/
gtkglext /usr/share/aclocal/
gtkglext /usr/share/aclocal/gtkglext-1.0.m4
gtkglext /usr/share/gtk-doc/
gtkglext /usr/share/gtk-doc/html/
gtkglext /usr/share/gtk-doc/html/gtkglext/
gtkglext /usr/share/gtk-doc/html/gtkglext/GdkGLExt-API.html
gtkglext /usr/share/gtk-doc/html/gtkglext/GtkGLExt-API.html
gtkglext /usr/share/gtk-doc/html/gtkglext/Overview.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-building.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglconfig.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglcontext.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkgldrawable.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglfont.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglinit.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglpixmap.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglquery.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglshapes.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkgltokens.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglversion.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglwindow.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gdkglx.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gtkglinit.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gtkglversion.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-gtkglwidget.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext-running.html
gtkglext /usr/share/gtk-doc/html/gtkglext/gtkglext.devhelp
gtkglext /usr/share/gtk-doc/html/gtkglext/home.png
gtkglext /usr/share/gtk-doc/html/gtkglext/index.html
gtkglext /usr/share/gtk-doc/html/gtkglext/index.sgml
gtkglext /usr/share/gtk-doc/html/gtkglext/left.png
gtkglext /usr/share/gtk-doc/html/gtkglext/right.png
gtkglext /usr/share/gtk-doc/html/gtkglext/style.css
gtkglext /usr/share/gtk-doc/html/gtkglext/up.png
pavel_l ()