jbb*_*med 7 qt segmentation-fault digikam
我运行 Ubuntu 14.04 64 位。Digikam 曾经可以工作,但最近停止工作。
我想知道是否有人可以帮助我找到解决此问题的方法。
我收到了来自 Digikam 邮件列表的回复,说这实际上不是 Digikam 问题,而是我的系统上的一个问题,其中与 Qt4 和 Qt5 存在一些冲突。下面的堆栈跟踪显示 Digikam 在 Qt5 库上崩溃,但它仅使用 Qt4 进行编程。
有什么建议?
apt-cache policy digikam
digikam:
Installed: 4:3.5.0-0ubuntu10
Candidate: 4:3.5.0-0ubuntu10
Version table:
*** 4:3.5.0-0ubuntu10 0
500 http://au.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
100 /var/lib/dpkg/status
gdb digikam
Reading symbols from digikam...Reading symbols from /usr/lib/debug/.build-id/89/8c66e5a3a2b8dce7156f7e8c1698e4bd29ef9d.debug...done.
done.
(gdb) catch throw
Catchpoint 1 (throw)
(gdb) run
Starting program: /usr/bin/digikam
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
__strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:286
286 ../sysdeps/x86_64/multiarch/../strcmp.S: No such file or directory.
(gdb) bt
#0 __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:286
#1 0x00007fffdf31609e in QMetaType::registerNormalizedType(QByteArray const&, void (*)(void*), void* (*)(void const*), void (*)(void*), void* (*)(void*, void const*), int, QFlags<QMetaType::TypeFlag>, QMetaObject const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2 0x00007fffdeb0b7b7 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#3 0x00007ffff7dea13a in call_init (l=<optimised out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdf38, env=env@entry=0x7fffffffdf48) at dl-init.c:78
#4 0x00007ffff7dea223 in call_init (env=<optimised out>, argv=<optimised out>, argc=<optimised out>, l=<optimised out>) at dl-init.c:36
#5 _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffdf38, env=0x7fffffffdf48) at dl-init.c:126
#6 0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#7 0x0000000000000001 in ?? ()
#8 0x00007fffffffe29c in ?? ()
#9 0x0000000000000000 in ?? ()
(gdb) quit
A debugging session is active.
Inferior 1 [process 10315] will be killed.
Quit anyway? (y or n) y
Run Code Online (Sandbox Code Playgroud)
qtchooser 工具的输出
$ qtchooser -l
4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5
$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR="/usr/lib/x86_64-linux-gnu/qt4/bin"
QTLIBDIR="/usr/lib/x86_64-linux-gnu"
Run Code Online (Sandbox Code Playgroud)
我知道 /usr/lib/x86_64-linux-gnu 中没有名为 Qt4* 的库,即使我已经安装(并重新安装)了主存储库中的大部分 libqt4 包。
所以问题是我是opencv从源代码安装的/usr/local。卸载它并删除剩余文件/usr/lib并/usr/include修复损坏的 qt 链接,然后重新安装digikam修复了所有问题。
提示是检查手动安装的东西,以防/usr其中之一发生冲突。
| 归档时间: |
|
| 查看次数: |
1166 次 |
| 最近记录: |