Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)
2021-3-15
mame
mame: relocation error: mame: symbol jpeg_mem_src version LIBJPEGTURBO_6.2 not defined in file libjpeg.so.62 with link time reference
user@debian:~$ dpkg -S libjpeg.so
-----
wps-office: /opt/kingsoft/wps-office/office6/libjpeg.so.8.0.2
wps-office: /opt/kingsoft/wps-office/office6/libjpeg.so.8
wps-office: /opt/kingsoft/wps-office/office6/libjpeg.so
libjpeg62-turbo:amd64: /usr/lib/x86_64-linux-gnu/libjpeg.so.62
libjpeg62-turbo:amd64: /usr/lib/x86_64-linux-gnu/libjpeg.so.62.2.0
-----
有遇到类似情况的朋友没?是否是因为 WPS 锁定 LIBJEPG.SO 版本的原因?
Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)
-
- 帖子: 85
- 注册时间: 2020-10-29 7:34
- astolia
- 论坛版主
- 帖子: 6492
- 注册时间: 2008-09-18 13:11
Re: Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)
跟wps没什么关系吧。出错信息明确说了是libjpeg.so.62中找不到版本为LIBJPEGTURBO_6.2的jpeg_mem_src符号。
你可以从以下几个方面入手排查
首先确认一下mame链接的libjpeg.so.62是不是/usr/lib/x86_64-linux-gnu/libjpeg.so.62
然后再看看/usr/lib/x86_64-linux-gnu/libjpeg.so.62是不是到/usr/lib/x86_64-linux-gnu/libjpeg.so.62.2.0的软链接
你可以从以下几个方面入手排查
首先确认一下mame链接的libjpeg.so.62是不是/usr/lib/x86_64-linux-gnu/libjpeg.so.62
代码: 全选
ldd /usr/games/mame | grep libjpeg
代码: 全选
ls -l /usr/lib/x86_64-linux-gnu/libjpeg.so.62*
-
- 帖子: 85
- 注册时间: 2020-10-29 7:34
Re: Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)
感谢提示!astolia 写了: ↑2021-03-17 10:55 跟wps没什么关系吧。出错信息明确说了是libjpeg.so.62中找不到版本为LIBJPEGTURBO_6.2的jpeg_mem_src符号。
你可以从以下几个方面入手排查
首先确认一下mame链接的libjpeg.so.62是不是/usr/lib/x86_64-linux-gnu/libjpeg.so.62然后再看看/usr/lib/x86_64-linux-gnu/libjpeg.so.62是不是到/usr/lib/x86_64-linux-gnu/libjpeg.so.62.2.0的软链接代码: 全选
ldd /usr/games/mame | grep libjpeg
代码: 全选
ls -l /usr/lib/x86_64-linux-gnu/libjpeg.so.62*
ldd /usr/games/mame | grep libjpeg
输出:
libjpeg.so.62 => /lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f4cd6df4000)
问题已修复。过程:
1. 删除 /lib/x86_64-linux-gnu/libjpeg.so* 和 /usr/lib/x86_64-linux-gnu/libjpeg.so*
2. apt download libjpeg62-turbo
3. 手动强行重装libjpeg62-turbo 的 DEB 包
sudo dpkg -i libjpeg62-turbo*.deb
4. 还需要把 libjpeg62-turbo 包中的 /usr/lib/x86_64-linux-gnu/libjpeg.so*
手动复制到 /lib/x86_64-linux-gnu/ 目录下。
现在 mame 运行正常.
---
故障原因回顾:
应该是之前因为调试一个应用,报错 libjpeg.so 的版本不符。
当时手工用二进制编辑器 bless 手动修改了 libjpeg.so 文件的版本标识。估计就是这个动作,导致 libjpeg.so 无法被 mame 正常识别.
再次感谢!
- astolia
- 论坛版主
- 帖子: 6492
- 注册时间: 2008-09-18 13:11