簡體   English   中英

FFmpeg 構建錯誤 pkg-config 找不到 x265 /usr/bin/ld: 找不到 -lnuma: 沒有那個文件或目錄

[英]FFmpeg build error pkg-config can't find x265 /usr/bin/ld: cannot find -lnuma: No such file or directory

我正在嘗試使用源代碼中的自定義庫構建 ffmpeg。

我的腳本中的每個 package 都按應有的方式構建,但是當它有時間使用所有包運行 ffmpeg 構建時,它會失敗,並在 ffmpeg 構建日志的底部顯示一個奇怪的錯誤代碼。

BEGIN /home/jman/tmp/ffconf.JouXp6kg/test.c
    1   #include <x265.h>
    2   #include <stdint.h>
    3   long check_x265_api_get(void) { return (long) x265_api_get; }
    4   int main(void) { int ret = 0;
    5    ret |= ((intptr_t)check_x265_api_get) & 0xFFFF;
    6   return ret; }
END /home/jman/tmp/ffconf.JouXp6kg/test.c
gcc -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include/lilv-0 -I/usr/local/cuda/include -std=c11 -fomit-frame-pointer -fPIC -I/home/jman/Documents/ffmpeg-build/workspace/include -pthread -DLILV_STATIC -DSRATOM_STATIC -DSORD_STATIC -DSERD_STATIC -I/home/jman/Documents/ffmpeg-build/workspace/include/lilv-0 -I/home/jman/Documents/ffmpeg-build/workspace/include/sratom-0 -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include/sord-0 -I/home/jman/Documents/ffmpeg-build/workspace/include/serd-0 -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include/opus -I/home/jman/Documents/ffmpeg-build/workspace/include/opus -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include/srt -I/home/jman/Documents/ffmpeg-build/workspace/include/svt-av1 -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -I/home/jman/Documents/ffmpeg-build/workspace/include -L/usr/lib/x86_64-linux-gnu -c -o /home/jman/tmp/ffconf.JouXp6kg/test.o /home/jman/tmp/ffconf.JouXp6kg/test.c
gcc -L/home/jman/Documents/ffmpeg-build/workspace/lib -L/usr/local/cuda/lib64 -Wl,--as-needed -Wl,-z,noexecstack -L/usr/lib/x86_64-linux-gnu -o /home/jman/tmp/ffconf.JouXp6kg/test /home/jman/tmp/ffconf.JouXp6kg/test.o -lx265 -lstdc++ -lm -lgcc_s -lgcc -lgcc_s -lgcc -lrt -ldl -lnuma -ldl -lpthread -lm -lz
/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

有誰知道這個-lnuma指的是什么?

就在幾天前,當我最后一次運行我的構建腳本時我沒有遇到任何問題,然后突然出現了這個問題。

這是我的完整構建腳本: FFmpeg-build.sh

更新:Per Allan Winds 的說明是 output:

find /usr/lib -name libnuma\* -ls

  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

這意味着您的構建在嘗試鏈接numa庫時失敗。 linker 將使用內置路徑以及 -L 指定的路徑搜索庫。 具體來說,-lnuma 將搜索 libnuma.a 和 libnuma.so(per man ld(1))。 從 libnuma.so 到實際庫的符號鏈接鏈接是 libnuma-dev package。您安裝 package 時:

sudo apt install libnuma-dev

-dev package 取決於實際庫 libnuma1。 如果需要,您可以直接使用-l:libnuma.so.1而不是-lnuma指定版本庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM