I'm trying to make some changes to the ffmpeg source code (yes, I'm a masochist), and to start I booted an Arch Linux docker container, installed the requirements, downloaded ffmpeg source code, and tried to compile, but I'm getting some extremely odd errors.
compile command:
./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
Output :
./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.
This doesn't seem to be a problem with ffmpeg, more a problem with the container. If I check find /tmp -name ffconf\*
I see that the files do exist and they contain
extern int getrusage();
int main(void){ getrusage(); }
what in the hell is going on? hash tabled? mktemp not working? files not being found?
edit-
here is what is on the line numbers in the files that give the errors
3338:configure - unset -f mktemp
5338:configure - check_builtin gmtime_r time.g "time_t * time; strict tm*; gmtime_r(time, tm)"
edit2 - Here's the dockerfile (cloned from here 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 <[email protected]>
# 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