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

编译payload-dumper-go报错lzma.h: No such file or directory如何解决

编译payload-dumper-go找不到lzma.h报错解决

报错复现

在项目根目录执行go build时触发编译失败,错误输出如下:

❯ go build
# github.com/spencercw/go-xz
/home/ecarroll/go/pkg/mod/github.com/spencercw/go-xz@v0.0.0-20181128201811-c82a2123b492/compression.go:36:10: fatal error: lzma.h: No such file or directory
   36 | #include <lzma.h>
      |          ^~~~~~~~
compilation terminated.

错误原因

依赖组件github.com/spencercw/go-xz是基于cgo实现的xz压缩逻辑封装,编译时需要调用系统本地的LZMA(xz)开发库头文件与链接文件。系统默认不会预装这类开发组件,缺失时就会触发头文件找不到的错误,直接终止编译流程。

修复方案

根据当前使用的操作系统,执行对应命令安装lzma开发依赖即可:

  • Debian、Ubuntu、Linux Mint等Debian系Linux发行版:
    sudo apt update && sudo apt install -y liblzma-dev
    
  • Fedora、RHEL、CentOS、Rocky Linux等RHEL系Linux发行版:
    # 新版本系统使用dnf
    sudo dnf install -y xz-devel
    # CentOS 7及以下旧版本替换为yum
    # sudo yum install -y xz-devel
    
  • Arch Linux、Manjaro等Arch系Linux发行版:
    sudo pacman -S --noconfirm xz
    
  • macOS(Homebrew环境):
    brew install xz
    
  • Windows(MSYS2/MinGW64环境):
    pacman -S mingw-w64-x86_64-xz
    

注:若安装依赖后仍提示头文件缺失,可执行pkg-config --cflags liblzma确认pkg-config能否正常识别lzma库,返回为空时手动将lzma库的pkgconfig路径加入PKG_CONFIG_PATH环境变量即可。

依赖安装完成后,回到项目根目录重新执行go build即可正常完成编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:45:50