ffmpeg build from source fails in docker container?

707 Views Asked by At

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
0

There are 0 best solutions below