Aplikacje Qt4 ulegają awarii podczas uruchamiania

0

Wczoraj pracowałem nad aplikacją Qt4 i nagle program zaczął się segregować przy starcie. Postanowiłem uaktualnić do Qt5 i to rozwiązało problem.

Zauważyłem jednak, że wszystkie aplikacje Qt4 mają takie samo zachowanie. Przykładem jest simplescreenrecorder.

$ ldd /usr/bin/simplescreenrecorder | grep Qt
    libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007fd558703000)
    libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fd55820f000)

Mogę powiedzieć, że jest z Qt, ponieważ ten . Dzwoniłem tylko do Qt4 w tym programie, a segfault wyglądał tak samo w debuggerze.

(gdb) run
Starting program: /usr/bin/simplescreenrecorder 

Program received signal SIGSEGV, Segmentation fault.
elf_dynamic_do_Rela (skip_ifunc=<optimized out>, lazy=0, nrelative=<optimized out>, relsize=662856, reladdr=<optimized out>, map=0x7ffff7fbd908) at do-rel.h:112
112 do-rel.h: No such file or directory.

Zarówno moja przykładowa aplikacja, jak i simplescreenrecorderta sama w debuggerze.


Co próbowałem

  • Ponowna instalacja wszystkich bibliotek libqt4

Mogę powiedzieć, że ma to coś wspólnego z Qt4, a nie z żadną inną wersją Qt, mianowicie Qt5, ponieważ mój program z Qt5 działa poprawnie, podobnie jak inne aplikacje Qt5.


Używam Ubuntu 17.04.

EDYCJA : W tej chwili całkowicie usuwam wszystkie biblioteki libqt4, zobacz, czy będę miał szczęście.

EDYCJA 2 : Udało się.

ChemiCalChems
źródło

Odpowiedzi:

0

Całkowite usunięcie bibliotek sudo apt-get remove libqt4*i ponowna instalacja sudo apt-get install libqt4*działały.

Wydaje się, że istnieje różnica między tym a sudo apt-get install --reinstall. Nadal nie znam przyczyny problemu.

ChemiCalChems
źródło