云网牛站
所在位置:首页 > Linux教程 > 在Deepin V20系统中megasync启动报错的原因和解决方法

在Deepin V20系统中megasync启动报错的原因和解决方法

2020-05-04 15:19:25作者:andrea-elijha稿源:深度站

在Deepin V20系统中mega启动会有报错提示:11919 segmentation fault megasync等,以下带来报错的原因和解决方法。

 

报错内容

bash$ megasync

QFileSystemWatcher::removePaths: list is empty

QFileSystemWatcher::removePaths: list is empty

Setting QT_SCREEN_SCALE_FACTORS= "eDP-1=1"

[1]    11919 segmentation fault  megasync

注:gdb调试显示原因是一个叫libdxcb.so qt运行库出了问题:

bash[DISCUZ_CODE_123]nbsp; gdb megasync

(gdb) r

Starting program: /usr/bin/megasync

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

[New Thread 0x7ffff1491700 (LWP 21322)]

[New Thread 0x7fffebe54700 (LWP 21323)]

[Thread 0x7ffff1491700 (LWP 21322) exited]

QFileSystemWatcher::removePaths: list is empty

QFileSystemWatcher::removePaths: list is empty

[New Thread 0x7ffff1491700 (LWP 21324)]

Thread 1 "megasync" received signal SIGSEGV, Segmentation fault.

0x00007ffff1a53ab4 in deepin_platform_plugin::DXcbXSettings::setting(QByteArray const&) const

() from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libdxcb.so

(gdb)

 

原因和解决方法

在Ubuntu虚拟机下安装megasync,并对比了/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/路径下库文件,发现虚拟机中并没有叫libdxcb.so的库,有一个名字很像的库叫ibqxcb.so。

于是将libqcb.so粘贴到相应路径下,启动mega,但是报同样的错。

在主机中备份ibdxcb.so为ibdxcb.so.old,删除ibdxcb.so,启动megasync,可以正常启动,但是终端依然有错误输出(qt相关,经过后续考证,应该是跟同步时在文件管理器中显示相关同步状态图标有关系)。

不过so far so good,可以用了,而且不在终端启动的时候一切正常。

遂进一步考证,删除了libqxcb.so这个库,终端启动megasync,再次无法启动。

于是初步判定,qt库文件出了问题,从可以启动的机子上拷贝来libqxcb.so替换libdxcb.so这个库,可以正常使用。

libqxcb.so下载地址为:https://bbs.deepin.org/forum.php?mod=viewthread&tid=193579。

不过建议其他有时间的同志们在Debain 10上安装megasync,到相应路径下查看并替换文中所说的qt运行库,毕竟Deepin V20基于Debain 10发行版。

 

megasync替换相应qt库后运行状态截图

在Deepin V20系统中megasync启动报错的原因和解决方法

 

相关主题

主流文件同步软件介绍:ownCloud、Syncthing、Seafile、Nextcloud

精选文章
热门文章