This is an old revision of the document!
This article contains information on generally compiling Avidemux, from the SVN repository or from tarballs, for your operating and some custom choices for the compilation. There are general guides, package descriptions and specific information for some Linux distributions that need specific compilation switches to successufully create the program from source.
To compile Avidemux, you will need to have the necessary dependencies met. Namely, you will need to install (or have already installed) several development packages. Here is a list and brief description of the packages:
This guide has information on compiling in two ways. The method for both is basically the same, with only one command change at the beginning to download from where you want.
You have two choices for where you can download files to compile.
svn co svn://svn.berlios.de/avidemux/branches/avidemux_2.5_branch_gruntster/
(enter the source code directory)
The 2.4 branch uses CMake as its primary build method. You can build Avidemux 2.4 or later using these commands in the source code directory:
(the dot is required)
For more information, see the Switch to CMAKE in progress thread in the Avidemux forum.
make -f Makefile.dist
(this is needed if you compile the SVN version, not needed for the official release)
./configure --with-jsapi-include=xxxx [[--with-newfaad|for Gentoo or Ubuntu]]
(xxxx is the directory where SpiderMonkey is installed - you cannot compile Avidemux 2.3 or older without SpiderMonkey, version 2.4 does not require external SpiderMonkey anymore)
(install Avidemux - you must be root, use the
command for that)
Using the 'locate jsapi.h' command will usually find the directory you need with the jsapi.h file. If the locate command does not find it, you should update the location database with the command 'updatedb' and then re-try 'locate jsapi.h' command.
Some people may not want to have all the feature for Avidemux compiled into their program. Here is a list of ./configure arguments to prevent features from being compiled:
Currently there is no explicit guide for compiling the latest version of Avidemux from Subversion (SVN) in Debian. However you can follow the Ubuntu/Kubuntu SVN Compile guide on this same page generally with no changes to the process and you should be able to compile just fine.
Avidemux deb packages for Debian can be found at http://debian-multimedia.org/.
You can get the necessary ebuilds for compiling Avidemux from the 2.3 subversion branch from the Berkano Overlay (which includes a couple of other ebuilds that may be useful). For information on how to use third-party ebuilds read the HowTo on the Gentoo Wiki.
Some Gentoo systems need the
argument with the ./configure stage of the compilation.
Enable the universe in your apt-source list. From a root console or via sudo use nano/vim/gedit or whatever text editor you like to open: /etc/apt/sources.list. You should either have the “universe” enabled on one of your repository lines.
After you have made sure the “universe” repository is enabled in your apt-sources file, from a root console or via sudo run this command:
sudo apt-get update
Next we will install the compile dependencies. Running this command line from the root console with either su or sudo will install many of the necessary dependencies for you to compile Avidemux with several extra features.
sudo apt-get install automake1.9 g++ gcc liba52-0.7.4 liba52-0.7.4-dev libfaac-dev libfaad-dev libstdc++6 libgtk2.0-dev libglib2.0-dev libsdl-console-dev libxv-dev pkg-config liblame-dev libmad0-dev libvorbis-dev libxml2-dev libxvidcore4-dev subversion
The libmad0 may not be needed anymore, since I think they just changed statically added it to the most recent SVN. Regardless, it cannot hurt.
Go to the place on your system when you want to download the source files for Avidemux. Make sure that you have Subversion installed. If you followed the previous step, you should be fine. You can choose to use the stable 2.4 branch or the unstable developers 2.5 branch. Using a console as a normal user, run this command:
svn co svn://svn.berlios.de/avidemux/branches/avidemux_2.5_branch_gruntster/
Now the source files for the latest version of Avidemux from the SVN repositories are on your system, in a directory usually called avidemux_2.x_branch (where 'x' is the specific version you chose to download) at your currect working directory. Move into that directory and create the configure script by running these commands:
cd avidemux_2.x_branch #where 'x' is the specific version you chose to download make -f Makefile.dist
After make is installed, from a run this command:
You now have a compiled executable file in avidemux_2.x_branch/avidemux called avidemux2_*. This is your new version of Avidemux. You may run it however you like or install it wherever you please.
Optional: make install
At this point you are done and all you need to do is from a console run this command:
sudo make install
Red Hat follows the general procedures for compiling but if you run into problems during the ./configure command, try using this variable:
For Fedora Core 5 install js and js-devel using yum:
yum install js js-devel
Then run configure with
See the Compiling SpiderMonkey article.
If you have problems compiling jsapi SpiderMonkey with Fedora, try doing this before you run the ./configure command:
Slackware follows the general procedures for compiling but needs this in the ./configure command:
where the xxxx should point to the Spidermonkey installation directory. The easiest way to get Spidermonkey installed on your system is to install the Mozilla Slackware package. This will install the appropriate js files to eg. /usr/lib/mozilla-1.7.13/
Additionally, the *js* files in Mozilla directory should be in your libpath (eg. /usr/lib), so simply symlink them to there. Done!
Some Slackware users have reported problems with GTK+ compiling. We suggest trying to this option when you are compiling. It seems to help:
In case you get the following error during 'make -f Makefile.dist':
aclocal:configure.in:117: warning: macro `AM_GNU_GETTEXT' not found in library *** Creating configure configure.in:117: error: possibly undefined macro: AM_GNU_GETTEXT
you should install gettext-tools Slackware package.
In case of an error during the 'make install':
/bin/sh @MKINSTALLDIRS@ /usr/local/share /bin/sh: @MKINSTALLDIRS@: No such file or directory
do the following:
to be filled in
This information is specific to SUSE version 10.1, but may work for other versions as well. It was tested using kernel 2.6.16, but may work for other versions as well.
SUSE follows the general procedures for compiling but needs this in the ./configure command:
Be sure to install ALL developer RPMs (packagename-devel) of the libraries you want to use, specially SpiderMonkey.
For 64-bit users, before you try to compile, you need to run to this command first:
This is a guide to building Avidemux from SVN in Microsoft Windows. It is intended for people who are familiar with compiling software but not necessarily using MinGW.
Note: The following instructions are tailored specifically for Microsoft Visual(nbsp)C++ 6.0. If you wish to use a different version of Visual(nbsp)C++ you may need to rebuild the dependencies required by Avidemux. More information at msdn.microsoft.com.
These components are necessary to build Avidemux on Microsoft Windows.
|Pkg-config||pkg-config-0.20.zip||Tor Lillqvist's GTK+ for Windows website|
These components are only required if you wish to compile optional dependencies.
|Netwide Assembler||nasm||nasm-0.98.39-win32.zip||NASM website|
These components are only required if you wish to compile optional dependencies with Microsoft Visual C++.
|Microsoft Visual C++ 6 Processor Pack||vcpp5.exe||MSDN website|
To build Avidemux on a Microsoft Windows operating system you will require MSYS and MinGW. MSYS is a Unix style shell environment for Windows. MinGW is a collection of header files, import libraries and GNU toolsets for producing native Windows programs.
To download the Avidemux source code you will require TortoiseSVN, which is source control software. It is implemented as a Windows shell extension, which makes it integrate seamlessly into the Windows Explorer.
Install the Processor Pack only if you wish to compile optional dependencies using Microsoft Visual C++.
export ACLOCALFLAGS="$ACLOCALFLAGS -I /mingw/share/aclocal/" export PKG_CONFIG_PATH="/mingw/lib/pkgconfig"
If you’ve installed the Netwide Assembler and wish to use Microsoft Visual C++ to compile optional dependencies, also follow these steps: