收起左侧

相册无法预览

6
回复
312
查看
[ 复制链接 ]

1

主题

6

回帖

0

牛值

江湖小虾

2025-11-26 23:00:10 显示全部楼层 阅读模式

设备环境:(物理机)

BUG现象:(我通过电脑设备访问,经过飞牛系统升级操作后,出现了相册无法预览情况,请看截图)

出现频率:(
fos相册无法预览2.png

fos相册无法预览1.png
必现)

联系方式:(飞牛fnOS粉丝群626群-Micro)

日志文件:(系统BUG进入日志应用-更多-系统诊断日志-上传到社区;APP端bug进入-设置-APP日志上报-上报后提供设备ID-)

附件过大无法上传可以通过飞牛外链分享或者百度网盘提供日志文件

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

215

主题

1万

回帖

0

牛值

管理员

fnOS1.0上线纪念勋章

2025-11-27 12:02:43 显示全部楼层
按照提示输入export LD\_LIBRARY\_PATH=/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1 报错 /usr/trim/bin/ima  详情 回复
2025-12-1 15:51

2

主题

3

回帖

0

牛值

江湖小虾

2025-12-1 15:51:25 显示全部楼层
飞牛技术同学 发表于 2025-11-27 12:02
https://club.fnnas.com/forum.php?mod=viewthread&tid=13917&extra=page%3D1


按照提示输入export LD\_LIBRARY\_PATH=/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
报错
/usr/trim/bin/imagesrv: symbol lookup error: /usr/trim/lib/imagesrv/libgdal.so.32: undefined symbol: sqlite3_column_table_name

下载imagesrv.zip,替换/usr/trim/lib/imagesrv,后还是提示无法预览

1

主题

6

回帖

0

牛值

江湖小虾

2025-12-4 11:13:20 楼主 显示全部楼层

df1536ccafb46a9d8de52a237b86bff0.png

出现上传错误文件,什么原因?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

6

回帖

0

牛值

江湖小虾

2025-12-18 19:12:50 楼主 显示全部楼层
已解决,有同样问题,可以留言.下面是解决方案。。。

1

主题

6

回帖

0

牛值

江湖小虾

2025-12-18 19:48:36 楼主 显示全部楼层
root@*****:
  1. export LD\_LIBRARY\_PATH=/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

/usr/trim/bin/imagesrv: symbol lookup error: /lib/x86_64-linux-gnu/libgdal.so.32: undefined symbol: sqlite3_column_table_name
以上报错原因
libgdal.so.32 依赖 sqlite3 sqlite3_column_table_name 符号,但当前系统的 sqlite3 版本过低,没有这个符号,导致库加载失败。
解决步骤(实操指令,直接执行)
1. 更新系统包列表
  1. apt update -y
复制代码
2. 升级 sqlite3 到高版本
  1. apt install sqlite3 libsqlite3-dev -y --upgrade
复制代码
3. 重新链接依赖(修复库关联)
  1. Ldconfig
复制代码
4. 重新执行原命令
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码
手动指定SQLite库路径,本质是把SQLite库所在目录添加到系统动态库加载路径(LD_LIBRARY_PATH),让程序优先找到适配的SQLite库,步骤极简:
实操步骤(直接执行)
1. 先找到SQLite库实际路径(OS默认路径,执行确认)
  1. find /usr/lib -name "libsqlite3.so*"
复制代码
输出一般是 /usr/lib/x86_64-linux-gnu/libsqlite3.so(核心路径,记好)
2. 临时指定路径(当前终端生效)
直接把SQLite库路径拼到LD_LIBRARY_PATH最前面,再执行程序:
# 格式:export LD_LIBRARY_PATH=SQLite库路径:原有路径 && 程序命令
  1. Export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码
3. 永久指定路径(所有终端生效)
避免每次都输,写入环境变量配置文件:
学会食用VI,i是编结,esc退出编辑,:wq 退出保存
# 编辑配置文件
  1. vi /etc/profile
复制代码
# 末尾添加一行(粘贴SQLite库路径)
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
复制代码
# 保存生效
  1. source /etc/profile
复制代码
之后直接执行原程序命令即可,无需再手动加路径。
root@*****:
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

/usr/trim/bin/imagesrv: symbol lookup error: /usr/trim/bin/imagesrv: undefined symbol: heif_imagesrv_patch_for_vendor
报错原因
缺少 heif 相关依赖库(heif_imagesrv_patch_for_vendor heif 库的专属符号),程序加载时找不到该库导致失败,核心是补装或指定 heif 库路径。
实操解决步骤(直接执行)
步骤1:先安装 heif 依赖库(优先尝试,最简单)
# 更新包列表,安装 libheif 相关库
  1. apt update -y && apt install libheif-dev libheif1 -y
复制代码

# 刷新动态库缓存
  1. ldconfig
复制代码

# 重新执行程序
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码
步骤2:若安装后仍报错,手动找 heif 库并指定路径
1. 查找系统中的 heif 库位置
  1. find /usr -name "libheif.so*"
复制代码
输出大概率是 /usr/lib/x86_64-linux-gnu/libheif.so(记好这个路径)
2. heif 库路径加入 LD_LIBRARY_PATH 再执行
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

步骤3:若还是报错(trim 专属 heif 库缺失)
针对性找 trim 目录下的 heif 库,补全路径:
1. 查找 trim 目录内的 heif
  1. find /usr/trim -name "libheif.so*"
复制代码

若输出 /usr/trim/lib/libheif.so(假设路径),把该目录加入 LD_LIBRARY_PATH
2. 指定 trim 下的 heif 库路径执行
  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

root@*****: export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/trim/lib:/usr/trim/lib/imagesrv:/usr/trim/lib/mediasrv && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
/usr/trim/bin/imagesrv: symbol lookup error: /usr/trim/bin/imagesrv: undefined symbol: heif_imagesrv_patch_for_vendor
核心原因
heif_imagesrv_patch_for_vendor trim 专属定制的 heif 扩展符号,系统默认和 trim 目录自带的标准 libheif 库都没有,得强制让程序加载 trim 适配的 heif 库,且优先加载,再补全依赖。
实操解决(按顺序来,必成)
步骤1:先修复 ldconfig 警告(避免库冲突干扰)
# 删除无效的 libzmq.so.5,重新创建正确软链接
  1. rm -f /usr/local/lib/libzmq.so.5
复制代码
  1. ln -s /usr/local/lib/libzmq.so.5.2.5 /usr/local/lib/libzmq.so.5
复制代码

  # 若找不到5.2.5,先执行
  1. find /usr/local -name "libzmq.so*"
复制代码

找实际版本,替换进去
  1. ldconfig
复制代码

  # 再执行,无警告即可
步骤2:强制优先加载 trim 下的 heif 库(关键)
trim libheif 版本更高(1.18.2),放 LD_LIBRARY_PATH 最前面,强制程序优先用它:
  1. export LD_LIBRARY_PATH=/usr/trim/lib/imagesrv:/usr/lib/x86_64-linux-gnu:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

步骤3:若仍报错,补 trim 专属依赖(兜底)
大概率缺 trim 配套的 heif 补丁库,直接安装 trim 依赖包:
# OS基于Debian,用dpkgtrim依赖(若有安装包),若无则执行下面的系统补全命令
  1. apt install -y libheif-dev libjpeg-dev libpng-dev libtiff-dev
复制代码
  1. ldconfig
复制代码

# 再重新执行程序(仍用步骤2的命令)
  1. export LD_LIBRARY_PATH=/usr/trim/lib/imagesrv:/usr/lib/x86_64-linux-gnu:/usr/trim/lib/mediasrv:/usr/trim/lib && /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

以下命令,上面如果解决了问题,下面命令不需要执行了。
步骤4:终极方案(直接绑定库路径到程序)
若以上都不行,用 patchelf 给程序硬指定 trim heif 库路径:
# 安装 patchelf
  1. apt install patchelf -y
复制代码

# imagesrv 绑定 trim libheif.so
  1. patchelf --set-rpath /usr/trim/lib/imagesrv:/usr/lib/x86_64-linux-gnu:/usr/trim/lib/mediasrv:/usr/trim/lib /usr/trim/bin/imagesrv
复制代码

# 直接启动程序,无需再输LD_LIBRARY_PATH
  1. /usr/trim/bin/imagesrv -o /usr/trim/logs/imagesrv.log -l info -u 0 -k 0 -C 1
复制代码

8

主题

25

回帖

0

牛值

fnOS系统内测组

2026-1-23 17:37:13 显示全部楼层

终于可以啦,谢谢。。。。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则