LINUX.ORG.RU

Падает KDE4 при использовании libQt4.7.0


0

1

Всем привет! Помогите советом! Сижу на OpenSUSE 11.1 KDE4. Требовалось запустить приложение скомпилированное на библиотеках libQt4.7.0. В системе установлена версия libQt4.3.3. Скопировал библиотеки libQt4.7.0, которые требуются для работы приложения, в папку usr/local/lib:

libQt3Support.so.4.7.0, libQtCore.so.4.7.0, libQtDBus.so.4.7.0, libQtDeclarative.so.4.7.0, libQtGui.so.4.7.0, libQtMultimedia.so.4.7.0, libQtNetwork.so.4.7.0, libQtOpenGL.so.4.7.0, libQtScript.so.4.7.0, libQtSql.so.4.7.0, libQtSvg.so.4.7.0, libQtXmlPatterns.so.4.7.0, libQtXml.so.4.7.0

Выполнил команду ldconfig. Перезагрузил систему. Проверил, что приложение использует именно их выполнив команду ldd. Запустил приложение, но начали наблюдаться глюки на рабочем столе, например, зависание консоли или на нижней панели значки звука, обновления налезли друг на друга, и начало выскакивать сообщение с ошибкой:

Приложение: Konsole (konsole), сигнал SIGSEGV 
(no debugging symbols found)                  
...                
[Thread debugging using libthread_db enabled] 
[New Thread 0xb446bb90 (LWP 5018)]            
(no debugging symbols found)                                   
...                 
[KCrash handler]                              
#6  0x00000000 in ?? ()                       
#7  0xb80186ef in ?? () from /usr/lib/libkdeinit4_konsole.so
#8  0xb8019371 in ?? () from /usr/lib/libkdeinit4_konsole.so
#9  0xb8019437 in ?? () from /usr/lib/libkdeinit4_konsole.so
#10 0xb801de8a in ?? () from /usr/lib/libkdeinit4_konsole.so
#11 0xb747b40b in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/local/lib/libQtCore.so.4
#12 0xb748bc62 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/local/lib/libQtCore.so.4
#13 0xb748c183 in QObject::destroyed(QObject*) ()                                                                       
   from /usr/local/lib/libQtCore.so.4                                                                                   
#14 0xb748ee88 in QObject::~QObject() () from /usr/local/lib/libQtCore.so.4                                             
#15 0xb68dcee7 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4                                              
#16 0xb8011a35 in ?? () from /usr/lib/libkdeinit4_konsole.so                                                            
#17 0xb7487911 in QObjectPrivate::deleteChildren() ()                                                                   
   from /usr/local/lib/libQtCore.so.4                                                                                   
#18 0xb68dce43 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4                                              
#19 0xb6d2b0c1 in QFrame::~QFrame() () from /usr/local/lib/libQtGui.so.4                                                
#20 0xb6d9bd15 in QStackedWidget::~QStackedWidget() ()                                                                  
   from /usr/local/lib/libQtGui.so.4                                                                                    
#21 0xb7487911 in QObjectPrivate::deleteChildren() ()                                                                   
   from /usr/local/lib/libQtCore.so.4                                                                                   
#22 0xb68dc423 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4                                              
#23 0xb7487911 in QObjectPrivate::deleteChildren() ()                                                                   
   from /usr/local/lib/libQtCore.so.4                                                                                   
#24 0xb68dce43 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4                                              
#25 0xb6d2b0c1 in QFrame::~QFrame() () from /usr/local/lib/libQtGui.so.4                                                
#26 0xb6d97245 in QSplitter::~QSplitter() () from /usr/local/lib/libQtGui.so.4                                          
#27 0xb80280cd in ?? () from /usr/lib/libkdeinit4_konsole.so                                                            
#28 0xb7487911 in QObjectPrivate::deleteChildren() ()                                                                   
   from /usr/local/lib/libQtCore.so.4                                                                                   
#29 0xb68dc423 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4                                              
#30 0xb7487911 in QObjectPrivate::deleteChildren() ()                                                                   
   from /usr/local/lib/libQtCore.so.4                                                                                   
#31 0xb68dce43 in QWidget::~QWidget() () from /usr/local/lib/libQtGui.so.4
#32 0xb6d49a11 in QMainWindow::~QMainWindow() ()
   from /usr/local/lib/libQtGui.so.4
#33 0xb7c13679 in KMainWindow::~KMainWindow() () from /usr/lib/libkdeui.so.5
#34 0xb7c52c57 in KXmlGuiWindow::~KXmlGuiWindow() ()
   from /usr/lib/libkdeui.so.5
#35 0xb80331c8 in ?? () from /usr/lib/libkdeinit4_konsole.so
#36 0xb7486615 in qDeleteInEventHandler(QObject*) ()
   from /usr/local/lib/libQtCore.so.4
#37 0xb7487cd3 in QObject::event(QEvent*) () from /usr/local/lib/libQtCore.so.4
#38 0xb68e3a45 in QWidget::event(QEvent*) () from /usr/local/lib/libQtGui.so.4
#39 0xb6d4b6f0 in QMainWindow::event(QEvent*) ()
   from /usr/local/lib/libQtGui.so.4
#40 0xb7c12178 in KMainWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#41 0xb7c53b8c in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#42 0xb687dc5f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/local/lib/libQtGui.so.4
#43 0xb6884a9e in QApplication::notify(QObject*, QEvent*) ()
   from /usr/local/lib/libQtGui.so.4
#44 0xb7b4d57d in KApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libkdeui.so.5
#45 0xb747494b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/local/lib/libQtCore.so.4
#46 0xb7475b66 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/local/lib/libQtCore.so.4
#47 0xb7475dbd in QCoreApplication::sendPostedEvents(QObject*, int) ()
   from /usr/local/lib/libQtCore.so.4
#48 0xb74a485f in postEventSourceDispatch(_GSource*, int (*)(void*), void*) ()
   from /usr/local/lib/libQtCore.so.4
#49 0xb5ecf9c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#50 0xb5ed3083 in ?? () from /usr/lib/libglib-2.0.so.0
#51 0xb5ed3241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#52 0xb74a4c28 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/libQtCore.so.4
#53 0xb693c675 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/libQtGui.so.4
#54 0xb7473acd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/local/lib/libQtCore.so.4
#55 0xb7473d8d in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/local/lib/libQtCore.so.4
#56 0xb7475e7c in QCoreApplication::exec() ()
   from /usr/local/lib/libQtCore.so.4
#57 0xb687d327 in QApplication::exec() () from /usr/local/lib/libQtGui.so.4
#58 0xb8035322 in kdemain () from /usr/lib/libkdeinit4_konsole.so
#59 0x080487f2 in _start ()

Как только удалил все библиотеки libQt4.7.0 из usr/local/lib и перезагрузился все стало нормально! Блин, так как же мне использовать совместно в системе libQt4.7.0 и libQt4.3.3?

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

Может быть, попробовать тогда создать папку /usr/local/share/qt4 и закинуть в неё файлы от libQt4.7.0 такие же как и в /usr/share/qt4:

/mkspecs /phrasebooks /translations q3porting.xml

jafreeboy
() автор топика

Поставь приложение, которое требует Qt 4.7.0 в отдельную директорию, например /opt/foo-1.0

Скопируй либы Qt 4.7, например, в /opt/foo-1.0/qt

Создай /usr/local/bin/foo:

#!/bin/sh
LD_LIBRARY_PATH=/opt/foo-1.0/qt /opt/foo-1.0/bin/foo

его и запускай.

Divius ★★
()
Ответ на: комментарий от jafreeboy

Может быть, попробовать тогда создать папку /usr/local/share/qt4 и закинуть в неё файлы от libQt4.7.0 такие же как и в /usr/share/qt4:

/mkspecs /phrasebooks /translations q3porting.xml

никакие из этих компонентов не являются обязательными, боюсь, это не поможет.

Divius ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.