到目前为止我尝试过的所有方法均不起作用。
x264 已安装。
OpenSSL 和 FDKaac 也已安装。
FFMPeg 的配置行:
PKG_CONFIG_PATH="$HOME/ffmpeg/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg" --extra-cflags="-I$HOME/ffmpeg/include" --extra-ldflags="-L$HOME/ffmpeg/lib" --enable-gpl --enable-libx264 --enable-openssl --enable-libfdk_aac --enable-nonfree --enable-libmp3lame
这是旧版本的 FFMPeg(版本 ffmpeg-1.0.10)。此机器无法升级。
这很奇怪,因为安装在过去是可以正常工作的,但我当然不记得哪个版本可以正常工作;它已被删除并且需要重新安装。
ffmpeg-1.0.10编译时的错误信息是这样的:
HOSTLD doc/print_options
GENTEXI doc/avoptions_format.texi
GENTEXI doc/avoptions_codec.texi
POD doc/ffmpeg.pod
POD doc/ffplay.pod
POD doc/ffprobe.pod
POD doc/ffserver.pod
MAN doc/ffmpeg.1
MAN doc/ffplay.1
MAN doc/ffprobe.1
MAN doc/ffserver.1
TXT doc/fate.txt
CC cmdutils.o
CC ffmpeg_opt.o
CC ffmpeg_filter.o
CC ffmpeg.o
ffmpeg.c:154:13: warning: ‘free_input_threads’ declared ‘static’ but never defined [-Wunused-function]
static void free_input_threads(void);
^
LD ffmpeg_g
/usr/local/lib/libpthread.a(ptw-write.o): In function `__write_nocancel':
(.text+0x26): undefined reference to `__syscall_error'
/usr/local/lib/libpthread.a(ptw-write.o): In function `__write_nocancel':
(.text+0x56): undefined reference to `__syscall_error'
/usr/local/lib/libpthread.a(ptw-read.o): In function `__read_nocancel':
(.text+0x26): undefined reference to `__syscall_error'
/usr/local/lib/libpthread.a(ptw-read.o): In function `__read_nocancel':
(.text+0x56): undefined reference to `__syscall_error'
/usr/local/lib/libpthread.a(ptw-close.o): In function `__close_nocancel':
(.text+0x20): undefined reference to `__syscall_error'
/usr/local/lib/libpthread.a(ptw-close.o):(.text+0x4b): more undefined references to `__syscall_error' follow
collect2: error: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
也不可能更改 libpthread 版本或升级内核,因为其他软件依赖于当前内核版本。
无法升级 ffmpeg 和/或 x264;它们返回与上述类似的 pthreads 错误。
将 './configure' 行更改为包含 '--disable-pthreads' 对 ffmpeg 构建结果没有影响。错误与上述相同。
有什么不同的想法吗?提前致谢。