Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)

游戏讨论
回复
debug4
帖子: 85
注册时间: 2020-10-29 7:34

Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)

#1

帖子 debug4 » 2021-03-15 22:31

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 版本的原因?
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)

#2

帖子 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

代码: 全选

ldd /usr/games/mame | grep libjpeg
然后再看看/usr/lib/x86_64-linux-gnu/libjpeg.so.62是不是到/usr/lib/x86_64-linux-gnu/libjpeg.so.62.2.0的软链接

代码: 全选

ls -l /usr/lib/x86_64-linux-gnu/libjpeg.so.62*
debug4
帖子: 85
注册时间: 2020-10-29 7:34

Re: Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)

#3

帖子 debug4 » 2021-03-18 22:45

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

代码: 全选

ldd /usr/games/mame | grep libjpeg
然后再看看/usr/lib/x86_64-linux-gnu/libjpeg.so.62是不是到/usr/lib/x86_64-linux-gnu/libjpeg.so.62.2.0的软链接

代码: 全选

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
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: Debian 10.8运行mame无法启动(报错 LIBJPEGTURBO_6.2 not defined)

#4

帖子 astolia » 2021-03-19 11:42

debug4 写了: 2021-03-18 22:45 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
可以直接 sudo apt install --reinstall libjpeg62-turbo
回复