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

Qemu-system-aarch64启动报错:已存在符号无法被找到的原因咨询

Qemu-system-aarch64 符号查找错误排查

问题描述

在Ubuntu 18.04.4 LTS系统通过apt-get安装Qemu后,执行qemu-system-aarch64命令时触发以下错误:

qemu-system-aarch64: symbol lookup error:
/usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0: undefined symbol:
cairo_ft_scaled_font_unlock_face

执行nm -gD /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 | grep cairo_ft检查库符号,输出为:

U cairo_ft_scaled_font_unlock_face

注意:nm输出中的U代表该符号未定义,意味着libpangocairo需要依赖其他库(这里是libcairo)提供这个符号,而非该符号已存在于libpangocairo中。

可能原因

  • 库版本不兼容:cairo_ft_scaled_font_unlock_face是cairo 1.15.4及以上版本才引入的符号。虽然Ubuntu 18.04默认libcairo2版本为1.15.10(理论上包含该符号),但可能存在库补丁缺失、版本回退或编译异常的情况,导致符号无法被正确识别。
  • 库路径冲突:系统中存在多个版本的cairo库,Qemu运行时加载了旧版本或非系统默认的cairo库,导致找不到目标符号。例如手动安装过第三方cairo版本后未清理,或者LD_LIBRARY_PATH环境变量指向了错误的库路径。
  • 安装包损坏:apt安装过程中出现中断、缓存损坏等问题,导致Qemu或依赖库的文件损坏、符号链接错误。

解决建议

  • 重新安装依赖库与Qemu:
    执行以下命令重新安装相关组件,修复可能的损坏文件:
    sudo apt-get update
    sudo apt-get install --reinstall libcairo2 libpangocairo-1.0-0 qemu-system-arm
    
  • 检查并修正库加载路径:
    1. 查看Qemu实际加载的cairo库路径:
      ldd /usr/bin/qemu-system-aarch64 | grep cairo
      
    2. 确认路径为系统默认的/usr/lib/x86_64-linux-gnu/libcairo.so.2,如果路径异常,临时清空LD_LIBRARY_PATH后重试:
      unset LD_LIBRARY_PATH && qemu-system-aarch64
      
  • 升级系统或使用兼容PPA:
    如果上述方法无效,可考虑升级到Ubuntu 20.04及以上版本(系统库版本更完善),或者添加Qemu官方稳定版PPA获取适配的安装包:
    sudo add-apt-repository ppa:qemu-team/qemu-stable
    sudo apt-get update
    sudo apt-get install qemu-system-arm
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 04:15:42