Building with Windows

This tutorial describes how to build GStreamer Editing Services using cerbero a freshly installed Windows 8.1 x86_64.

Download Software

git

Install git for Windows.

  • Bash only is fine
  • IMPORTANT: Select the install option “Checkout as-is, Commit as-is”

Python 2.7

Install Python 2.7.8

  • Choose the MSI Installer for x86_64.
  • For all users
  • To C:\Python27\

MinGW

Install mingw-get

  • To C:\MinGW
  • Select the following packages in “Basic Setup”:
    • mingw32-base
    • mingw32-gcc-g++
    • msys-base
  • Installation => Apply changes
  • Close the dialoge when complete

CMake

Download the CMake win32 installer, since there is no 64bit build.

You do not need to add CMake to the system path, since we are not using CMD anyway.

Text Editor

Make sure you have a decent text editor. I recommend Sublime or Notepad++.

Setup the shell

Sadly I do not know how to make a .bat available in the task bar / dock, so make a link on the Desktop.

  • Make a link on your Desktop to C:\MinGW\msys\1.0\msys.bat
  • Rename it to msys Shell and give it a nice icon.

Edit fstab

This needs to be configured to be able to use the package manager mingw-get.

  • Go to C:\MinGW\msys\1.0\etc\
  • rename fastab.sample to fstab. If you installed MinGW to another folder, you need to edit this file.

Install MinTTY

  • Open the shell from your Desktop.
  • It is a cmd like shell. Pasting sucks. We should install a cooler one with transparency and stuff.

$ mingw-get install mintty

Now we need to set it as the default shell

Add following line to C:\MinGW\msys\1.0\mys.bat after line 58:

set MSYSCON=mintty.exe

  • Open your new cool shell mintty.

It its scaled dynamically. You can copy with just selecting text. You can paste with middle click. Cool.

Editing your bash profile

We will need to add everything to our path manually.

Add the following lines at the end of C:\MinGW\msys\1.0\etc\profile

export PATH=$PATH:/c/Python27
export PATH=$PATH:/c/Program\ Files\$x86$/Git/bin
export PATH=$PATH:/home/bmonkey/cerbero/
export PATH=$PATH:/c/Program\ Files\$x86$/CMake/bin

alias cerbero=cerbero-uninstalled

Note that the cerbero path is the path where we will clone cerbero into in the next step. You need to change it to your user name.

Save the file and restart your shell.

Setting up git config

The bootstrap will fail if git config is not set up. Do the following:

$ git config --global user.email you@example.com $ git config --global user.nameYour`` ``Name

Compile

Checkout cerbero

$ git clone git@gitlab.freedesktop.org:gstreamer/cerbero.git

Install dependencies

Now we need to get some extra dependencies from mingw-get to start the bootstrap.

$ mingw-get.exe install msys-perl msys-patch msys-bison msys-flex msys-coreutils

Bootstrap

Now we can start cerbero bootstrap.

If you cannot access the cerbero command, make sure its in the PATH in your bash profile.

$ cerbero bootstrap

Go get some coffee.

Building GStreamer Editing Services

$ cerbero build gst-editing-services-1.0

Go plant a tree. This can take hours.

Building GStreamer Plugins

Since GES does not depend on all plugins, you need to build them manually.

$ cerbero build gst-plugins-bad-1.0
$ cerbero build gst-plugins-ugly-1.0
$ cerbero build gst-libav-1.0

Adding GStreamer tools to the PATH

You probably want to use ges-launch-1.0.exe and friends in the shell. To do this, add the dist folder to the PATH.

In your bash profle:

export PATH=$PATH:/home/bmonkey/cerbero/dist/windows_x86_64/bin/

Troubleshooting

Configure hangs

If you encounter the configure process to freeze, you need to close the shell and kill all sh.exe processes in the task manager. Alternatively you can log out and log in.

checking for msgfmt... /c/Users/Lubosz/cerbero/build-tools/bin/msgfmt
checking for gmsgfmt... /c/Users/Lubosz/cerbero/build-tools/bin/msgfmt
checking for xgettext... /c/Users/Lubosz/cerbero/build-tools/bin/xgettext
checking for msgmerge...

The results of the search are