小站

导航

【备忘录】新版linux qq启动报错:非法指令(核心已转储)、illegal instruction (core dumped)

一、安装后,linuxqq无法启动;二、更新后,linuxqq无法启动;三、找不到目录,更新3.2.3后,旧方法无法适配文件目录,仍然非法指令。

 

一、安装后,linuxqq无法启动。

先上图:

原因介绍:我的旧电脑是AMD处理器,型号是速龙II x4 641。因为太老,导致有些指令集不支持,例如sse3、sse4.*。(猜测:至于linux qq能安装却不能运行的原因,可能与此有关。)

ecs-user@A55MLC2:~$ cat /proc/cpuinfo|grep flags

flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall arat npt lbrv svm_lock nrip_save pausefilter

 

解决办法:本地编译,并安装libvips。

具体操作:(以下命令是我的主机需要执行的,具体情况请具体分析

1.下载libvips源码包,https://github.com/libvips/libvips/releases

2.解压缩

tar xzvf libvips-8.14.2.tar.gz

3.按照README.md和meson_options.txt安装依赖(或者在https://github.com/libvips/libvips获取简要依赖信息)

我的安装依赖情况:

sudo apt install meson build-essential pkg-config libglib2.0-dev libexpat1-dev libgirepository1.0-dev

4.配置meson选项,然后安装。

#配置的安装目录必须是QQ默认的/usr/lib/x86_64-linux-gnu/,所以在ubuntu下,--prefix对应的目录是/usr
meson setup build --prefix /usr
cd build
meson compile
meson test
sudo meson install

5.关键步骤:(注意文件名,根据具体情况改命令中的路径和文件名),备份/opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42,复制libvips-cpp.so.*文件到QQ程序目录并覆盖原libvips-cpp.so.42文件

sudo cp /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42 /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42.bk
sudo cp /usr/lib/x86_64-linux-gnu/libvips-cpp.so.42.16.2 /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42

6.启动新版linux qq

7.完成

 

二、更新后,linuxqq无法启动。

1.复制libvips-cpp.so.42.16.2到.config指定目录(其中3.1.2-12912目录,为更新的版本目录

#其中3.1.2-12912目录,为更新的版本目录

sudo cp /usr/lib/x86_64-linux-gnu/libvips-cpp.so.42.16.2 /home/ecs-user/.config/QQ/versions/3.1.2-12912/sharp-lib/libvips-cpp.so.42

2.启动qq

 

 

三、找不到目录,更新3.2.3后,旧方法无法适配文件目录,仍然非法指令。 

更新3.2.3-18968版本后,使用第二节的方法失效了,.config中没有新的版本目录,而且还是启动无反应。

1.(注意文件名,根据具体情况改命令中的路径和文件名),再次备份/opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42,复制libvips-cpp.so.*文件到QQ程序目录并覆盖原libvips-cpp.so.42文件。

sudo cp /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42 /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42.bk2
sudo cp /usr/lib/x86_64-linux-gnu/libvips-cpp.so.42.16.2 /opt/QQ/resources/app/sharp-lib/libvips-cpp.so.42

即可。

 

posted on 2023-04-16 23:40  刘增帅  阅读(1507)  评论(0编辑  收藏  举报

联系邮箱
liuzengshuai@aliyun.com