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

编译带自定义库的FFmpeg时遇-lnuma未找到及x265检测失败错误

FFmpeg编译时-lnuma找不到的问题解决

问题描述

从源码编译带自定义库的FFmpeg时,其他依赖包编译正常,但FFmpeg编译步骤失败,日志底部报错:

/usr/bin/ld: cannot find -lnuma: No such file or directory
collect2: error: ld returned 1 exit status
ERROR: x265 not found using pkg-config

此前运行编译脚本一切正常,执行find /usr/lib -name libnuma\* -ls显示系统中已存在NUMA库文件:

4987897     48 -rw-r--r--   1 root     root        48152 Mar 24  2022 /usr/lib/x86_64-linux-gnu/libnuma.so.1.0.0
  4992286     76 -rw-r--r--   1 root     root        77086 Mar 24  2022 /usr/lib/x86_64-linux-gnu/libnuma.a
  4987896      0 lrwxrwxrwx   1 root     root           16 Dec 29 12:03 /usr/lib/x86_64-linux-gnu/libnuma.so.1 -> libnuma.so.1.0.0
  4992287      0 lrwxrwxrwx   1 root     root           16 Mar 24  2022 /usr/lib/x86_64-linux-gnu/libnuma.so -> libnuma.so.1.0.0

-lnuma是什么?

-lnuma是GCC链接器的参数,用于指定链接NUMA(非统一内存访问)库。这个库主要用于多CPU架构下优化内存分配策略,x265编码器在启用NUMA支持时会依赖该库。

问题分析

系统中已存在NUMA库文件,但链接器仍找不到,可能的原因:

  • 动态库缓存失效:系统的ldconfig缓存未更新,链接器无法识别库文件的软链接
  • 链接路径优先级问题:编译脚本中的库搜索路径顺序导致链接器先查找其他目录,未搜到/usr/lib/x86_64-linux-gnu下的NUMA库
  • 编译脚本变更:脚本更新后,x265的编译配置新增了NUMA依赖,但系统的库链接配置未同步

解决办法

  • 刷新动态库缓存:执行以下命令更新系统动态库索引
    sudo ldconfig
    
  • 手动指定库搜索路径:在FFmpeg的configure命令中添加额外链接参数,明确指定NUMA库所在目录
    ./configure --extra-ldflags="-L/usr/lib/x86_64-linux-gnu" [其他原有参数]
    
  • 禁用x265的NUMA支持:如果不需要多CPU内存优化,可在x265的编译配置中添加--disable-numa,取消对NUMA库的依赖
  • 安装NUMA开发包:若缺少NUMA相关头文件或开发组件,执行以下命令安装(Debian/Ubuntu系统)
    sudo apt-get install libnuma-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:55:55