Published using Google Docs
Build Xuggle Xuggler
Updated automatically every 5 minutes

Building Xuggle Xuggler (GPL and LGPL Licensed Versions)

[Linux 32-bit, Linux 64-bit, Windows 32-bit, Windows 64-bit]

To build the Xuggle Xuggler library, you will need two Linux virtual machines running Ubuntu 11.10 (32-bit and 64-bit operating systems). A 32-bit version of the OS is required to build Linux 32-bit, cross compiling Windows 32-bit, and cross compiling Windows 64-bit binaries. A 64-bit version of the OS is required to build Linux 64-bit binaries.

Using VirtualBox, I created the two virtual machines discussed above with the ubuntu-11.10-server-i386.iso and ubuntu-11.10-server-amd64.iso disk images. These are headless server versions of Ubuntu. After installation of the OS, follow these steps to build Xuggler (you are welcome to try different dependency versions and not use the root user, but this is what I did to build successfully):

  1. Change to root user:
  1. Just use root’s home directory:
  1. Update apt-get to use specific repository:
  1. Install Java:
  1. Verify the HotSpot Java 6 JVM is the default java:
  1. If the incorrect version of Java appears, configure the default by running:
  1. Install gcc, g++, make and all the other build essentials:
  1. Install YASM:
  1. Install Open SSL:
  1. Install Package Config:
  1. Install Git:
  1. Install Ant:
  1. Install JUnit:
  1. Install MingGW to be able to build for Windows (mingw-w64 can do 32 and 64-bit Windows):
  1. Download the LGPL configured Xuggle source code (Ed’s fork of the code from Jeff Wallace’s fork from the original GPL xuggle code) or the original GPL version:
  1. Compile and build the JAR files (with binaries inside). Be sure to run the 64-bit Linux build on the 64-bit version of Ubuntu. Also note that between builds you will need to run “ant clobber” to remove all of the compiled files from the previous architecture. To build run:
  1. The deployable JAR files will be in the /dist/lib directory.
  2. If you need the Linux binaries to additionally work on CentOS, you’ll now need to change the version of GCC and G++ to use 3.4 instead of 3.6.
  1. apt-get install gcc-4.4
  1. rm /usr/bin/gcc
  2. ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
  3. rm /usr/bin/x86_64-linux-gnu-gcc
  4. ln -s /usr/bin/x86_64-linux-gnu-gcc-4.4 /usr/bin/x86_64-linux-gnu-gcc
  1. apt-get install c++-4.4
  1. rm /usr/bin/cpp
  2. ln -s /usr/bin/cpp-4.4 /usr/bin/cpp
  3. rm /usr/bin/x86_64-linux-gnu-cpp
  4. ln -s /usr/bin/x86_64-linux-gnu-cpp-4.4 /usr/bin/x86_64-linux-gnu-cpp
  5. rm /usr/bin/g++
  6. ln -s /usr/bin/g++-4.4 /usr/bin/g++
  7. rm /usr/bin/x86_64-linux-gnu-g++
  8. ln -s /usr/bin/x86_64-linux-gnu-g++-4.4 /usr/bin/x86_64-linux-gnu-g++
  1. gcc --version
  2. c++ --version
  3. cpp --version
  4. gcc --version