Cannot mix incompatible Qt libraries

В последнее время на разных я стал довольно часто сталкиваться с ошибкой

[-]
View Code (Unknown Language)
Cannot mix incompatible Qt libraries

Очень сильно этим грешит Skype. Но в последнее время такая проблема стала возникать для приложений KDE4.

Данная , как правило, вызывается одной из следующих причин:

  1. В системе установлены библиотеки разных версий. Проверяется это очень просто:
    [-]
    View Code Bash
     dpkg -l | grep qt | grep -r "^[ih]"

    Если в выдаче присутствуют библиотеки разных версий (третья колонка), значит, именно это вызвало проблему. Удаление старых библиотек, как правило, решает проблему.

    В этом случае, например, конфликта нет:

    [-]
    View Code (Unknown Language)
    ii  libqt4-dbus                                 4.4.2-0ubuntu2                        Qt 4 D-Bus module
    ii  libqt4-designer                             4.4.2-0ubuntu2                        Qt 4 designer module
    ii  libqt4-network                              4.4.2-0ubuntu2                        Qt 4 network module
    ii  libqt4-opengl                               4.4.2-0ubuntu2                        Qt 4 OpenGL module
    ii  libqt4-qt3support                           4.4.2-0ubuntu2                        Qt 3 compatibility library for Qt 4
    ii  libqt4-script                               4.4.2-0ubuntu2                        Qt 4 script module
    ii  libqt4-sql                                  4.4.2-0ubuntu2                        Qt 4 SQL module
    ii  libqt4-svg                                  4.4.2-0ubuntu2                        Qt 4 SVG module
    ii  libqt4-xml                                  4.4.2-0ubuntu2                        Qt 4 XML module
    ii  libqtcore4                                  4.4.2-0ubuntu2                        Qt 4 core module
    ii  libqtgui4                                   4.4.2-0ubuntu2                        Qt 4 GUI module
    ii  libstrigiqtdbusclient0                      0.5.11-1                              library for writing D-Bus clients for Strigi Desktop Se
    ii  qt4-qtconfig                                4.4.2-0ubuntu2                        Qt 4 configuration tool
    Тем не менее, если ошибка всё еще выдаётся, переходим к пункту 2.
  2. Если используется 64-битная платформа, проблема может возникать из-за того, что загрузчик пытается использовать 32-битные библиотеки. Определить это можно при помощи ldd.

    Например,

    [-]
    View Code Bash
    ldd /usr/bin/ktorrent | grep '/lib32/'
    #   libQtDBus.so.4 => /lib32/libQtDBus.so.4 (0x00007f191cce7000)

    В данном случае при загрузке загрузчик будет загружать её 32-битную версию (из /lib32) вместо 64-битной (из /lib).

    Я использую следующее решение (оно не идеальное, но работает):

    [-]
    View Code Bash
    sudo -i
    echo /lib32 > /etc/ld.so.conf.d/libQtDBus32.conf
    echo /usr/lib > /etc/ld.so.conf.d/libQtDBus64.conf
    ldconfig
  3. Наконец, если подобная проблема возникает при использовании на 64-битной платформе, то проще всего скачать static version. Очень сильно экономит нервы :-)
Автор: , опубликовано в: Linux, комментариев: 2
1
Окт
2008

Возвращаем Skype к жизни в Ubuntu Intrepid Ibex на 64-битной платформе

Не любят разработчики … совсем не любят. Только-только нашлось решение после безумного обновления ia32-libs, как через несколько дней возникла новая проблема: Skype (да и не только Skype) стал падать с сообщением об ошибке:

[-]
View Code (Unknown Language)
ALSA lib ../../src/conf.c:2700:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib ../../../src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL hw:0

Далее »

Автор: , опубликовано в: Linux, комментариев: 15
26
Сен
2008

Удаление старых настроек в Debian/Ubuntu Linux

Дёшево и сердито:

[-]
View Code Bash
dpkg -l | grep -r "^rc" | awk '{ print $2; }' | xargs aptitude -y purge

Или так:

[-]
View Code Bash
dpkg -l | awk '/^rc/ { print $2; }' | xargs aptitude -y purge

И не забываем про резервные копии :-)

PS — если бы это было так просто в Windows…

Автор: , опубликовано в: Linux, Администрирование, комментариев: нет
25
Сен
2008

Eclipse Ganymede: Cannot connect to keystore

Если при установке C/C++ Development Tools (CDT), PHP Development Tools (PDT) или любого другого пакета возникает :

An error occurred during provisioning
Cannot connect to keystore

Это означает, что выбрана не та версия виртуальной машины . Далее »

Автор: , опубликовано в: Linux, комментариев: 2
23
Сен
2008

Skype и Ubuntu 8.10 Intrepid Ibex на AMD-64

Те, кто используют на  8.10 () на 64-битном процессоре, наверняка заметили, что после очередного обновления системы Skype перестал работать, выдавая при старте ошибку:

[-]
View Code (Unknown Language)
skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory

Далее »

Автор: , опубликовано в: Linux, комментариев: 3
22
Сен
2008

Ubuntu Intrepid Ibex и драйвера на видеокарту ATI

Обновление с  8.04 (Hardy Heron) до Ubuntu 8.10 () для владельцев видеокарт не проходит гладко: при загрузке X Server появляется сообщение об ошибке наподобие этого:

dlopen: /usr/lib/xorg/modules/drivers//_drv.so: undefined symbol: miZeroLineScreenIndex
(EE) Failed to load /usr/lib/xorg/modules/drivers//fglrx_drv.so
(EE) Failed to load module "fglrx" (loader failed, 7)
(EE) No drivers available.

В результате X Server не загружается. Далее »

Автор: , опубликовано в: Linux, комментариев: 12
10
Сен
2008

Доступ к файловой системе телефонов Siemens в Ubuntu Linux

Одной из основных проблем в для меня всё время было остутствие родных драйверов для моего мобильного телефона —  CX70.

Google в этом деле был не лучшим помощником — в большинстве случаев всё, что я находил, это были вопросы таких же пользователей, как и я. Но сегодня всё изменилось :-) Я совершенно случайно узнал про SieFS — -драйвер для файловой системы телефонов Siemens. Далее »

Автор: , опубликовано в: Linux, комментариев: 6
1
Сен
2008

VirtualBox, многоядерный процессор и высокая загрузка

Столкнулся с проблемой, заключающейся в том, что на многоядерном процессоре имеет тенденцию сильно загружать процессор, даже в тех случаях, когда гостевая операционная система ничего не делает (idle).

Едиснтвенное решение (не идеальное, но рабочее), которое я нашёл — заставлять VirtualBox использовать только одно ядро процессора. Далее »

Автор: , опубликовано в: Администрирование, комментариев: 6
31
Авг
2008

DomainKeys и DKIM с Postfix в Ubuntu Linux

Давным-давно настроив у себя SPF, я собирался поразбираться с и Identified Mail (), но, как часто случается, банально не хватило времени. Но наконец-то нашлась свободная минутка (пришлось знакомиться с ними по долгу работы).

В данной статье я расскажу о том, как настроить DK/DKIM для совместной работы с в / . Далее »

Автор: , опубликовано в: Linux, Администрирование, комментариев: 2
30
Авг
2008

Настройка L2TP в Debian/Ubuntu

Так сложилось, что очень многие провайдеры (как в Украине, так и в России) предоставляют подключение к интернет через -соединение; в оно реализуется через протокол (стоит отметить, что в дитстрибутивах Linux полная поддержка PPTP отсутствовала из-за опасения патентных претензий по поводу протокола MPPE; официально поддержка PPTP была начата с версии ядра Linux 2.6.14).

Некоторые провайдеры предоставляют возможность подключения по протоколу . Не вдаваясь в технические подробности, L2TP — протокол туннелирования, гораздо примитивнее PPTP, и, соответственно, требует намного меньше накладных расходов (хотя и менее защищен). Прирост производительности связан с уменьшением коллизий пакетов (по сравнению с PPTP) и сжатии данных на уровне протокола (L2TP).

Лично мне использование L2TP привело к увеличению скорости примерно в 10 раз. Далее »

Автор: , опубликовано в: Linux, комментариев: 11
5
Авг
2008