You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派用box86运行x86程序时libpython3.9.so.1.0加载失败求助

解决树莓派Box86运行x86程序的符号缺失与库加载错误

问题概述

在树莓派上通过Box86模拟器运行x86架构编译的程序时,出现全局符号缺失错误(如XML_SetEncoding),最终无法加载libpython3.9.so.1.0——尽管该文件确实存在于指定目录。程序由bash脚本启动Python脚本,未修改过树莓派默认的Python或系统路径配置。

解决步骤

  • 补全x86依赖库
    XML_SetEncoding是x86版libxml2库的符号,说明程序依赖的x86系统库不完整。用以下命令检查libpython3.9.so.1.0的依赖项:

    box86 ldd ~/program/libpython3.9.so.1.0
    

    输出中标记为not found的库就是需要补充的x86版本库,从x86 Linux发行版的对应包中提取这些.so文件,放到程序的~/program目录下。

  • 设置库加载优先级
    让Box86优先加载程序目录内的x86库,避免调用树莓派原生ARM库。在启动脚本开头添加:

    export LD_LIBRARY_PATH=~/program:$LD_LIBRARY_PATH
    export BOX86_LD_LIBRARY_PATH=~/program:$BOX86_LD_LIBRARY_PATH
    
  • 验证Python库完整性
    确认libpython3.9.so.1.0是完整的x86版本,未在传输/解压中损坏。可从官方Python 3.9的x86发行包中重新提取该文件替换现有文件。

  • 修正脚本的Python调用路径
    确保启动脚本中调用的是程序自带的x86 Python,而非树莓派系统的ARM Python。比如将脚本中的python3改为程序目录内的Python二进制路径,如~/program/python3。

  • 启用Box86调试模式定位问题
    用调试模式运行脚本,获取更详细的加载日志:

    box86 -d 1 ~/program/your_start_script.sh
    

    从日志中可明确库加载失败的具体环节,进一步排查问题。

内容的提问来源于stack exchange,提问作者GKelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:25:29