我试图对ffmpeg源代码进行一些更改(是的,我是masochist),并开始启动Arch Linux docker容器,安装需求,下载ffmpeg源代码,以及试图编译,但我得到了一些非常奇怪的错误。
编译命令:
./configure --bindidr=~/ffmpeg_build --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree
输出:
./configure:unset:3338: no such has table element: mktemp
pr: /tmp/ffconf.uQI7CeV.c: No such file or directory.
pr: /tmp/ffconf.uQI7CeV.c: No such file or directory.
pr: /tmp/ffconf.uQI7CeV.c: No such file or directory.
pr: /tmp/ffconf.uQI7CeV.c: No such file or directory.
... (24 times)
pr: /tmp/ffconf.uQI7CeV.c: No such file or directory.
pr: /tmp/ffconf.r547UgWy.m: No such file or directory.
./configure:53378: parse error near '}'
==> ERROR" A failure occured in build()
Aborting...
The build failed.
这似乎不是ffmpeg的问题,更容易出现问题。如果我检查find /tmp -name ffconf\*
我发现文件确实存在并且包含
extern int getrusage();
int main(void){ getrusage(); }
到底是怎么回事?哈希表? mktemp不工作?文件未找到?
编辑 -
这里是给出错误的文件中的行号
3338:configure - unset -f mktemp
5338:configure - check_builtin gmtime_r time.g "time_t * time; strict tm*; gmtime_r(time, tm)"
edit2 - 这里是dockerfile(从这里克隆https://hub.docker.com/r/greyltc/archlinux/~/dockerfile/)
# Arch Linux baseline docker container
# Generated on Sat Mar 19 14:26:28 GMT 2016 using code in this GitHub repo:
# https://github.com/greyltc/docker-archlinux
FROM scratch
MAINTAINER Grey Christoforo <grey@christoforo.net>
# copy in super minimal root filesystem archive
ADD archlinux.tar.xz /
# perform initial container setup tasks
RUN setup-arch-docker-container
# this allows the system profile to be sourced at every shell
ENV ENV /etc/profile