我正在尝试对 ffmpeg 源代码进行一些更改(是的,我是受虐狂),并开始启动 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