-
Notifications
You must be signed in to change notification settings - Fork 422
OS X
From a user: I run into several problems on Mac OSX, which I fixed and finally it was able to build ffmpeg directly using this script, with the following caveats.
The problems, as far as I remember them: You will need MacPorts (or homebrew, etc.) already setup. Install wget (ex: via MacPorts).
The built in tar does not support xz, even the tar from Mac Ports won't do it, as far as i remember.
You will probably have to bootstrap from sources:
curl -O http://tukaani.org/xz/xz-5.1.2alpha.tar.gz (or $ port install xz) curl -O http://ftp.gnu.org/gnu/tar/tar-1.26.tar.gz NB that you'll have to add /usr/local/bin to the front of your path so that it uses this one by default instead of the built-in tar.
sed behaves strange on Mac OSX. No idea why, but it doesn't do the job. This probably leads to problems building zlib and openjpeg.
You will probably have to bootstrap from sources: curl -O ftp://ftp.gnu.org/gnu/sed/sed-4.2.1.tar.gz
A bootstrapped pkg-config, yasm and cmake as well. One package wanted a very new cmake, which is not available at Mac Ports. You might be able to get these via macports, instead.
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz or port install pkgconfig wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz or port install yasm wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz or port install cmake
Some packages (gmp, zlib) use uname and the OSX uname doesn't work. I believe, this happens on all build hosts, but when it is a normal Linux environment, the loader option derived from this process match the loader options of mingw, so everything is fine. No on OSX however. The libraries are complete different and several tools of mingw will fail naturally.
Create a "fake" uname script (ex: https://github.com/rdp/ffmpeg-windows-build-helpers/issues/10), put it in some directory and add the search PATH to this ONLY when cross-compiling to Your environment. It will then take linker options from a "fake" Linux system, which does the job.
The problem with fontconfig might be due to depencies libraries not create by above problems. Finally the script will build ffmpeg with fontconfig.