HOWTO: Compile Cinelerra 4.3
On August,5th,2011, Adam Williams and his staff at Heroine Virtual released a new Version of Cinelerra. Unlike the prior versions(enhancements) this one contains many bugfixes. With a little work by yourself you will be able to compile and install this latest release on your sabayon-installation, which exceeds the CV-Version in many ways. A better Stability and better Render-Speed for example. So let's start:
1. Check for dependencies
At first be sure you have the following packages installed:
-nasm -yasm -libmp4v2
2. Download and unpack the sources
Go to
http://freefr.dl.sourceforge.net/project/heroines/cinelerra-4.3-src.tar.bz2 and get your source-code. Then unpack it to your desired place in your installation.
You should get a "cinelerra-4.3"-Folder
3. Patching some files
Here we have business as usual at cinelerra. A normal configure, make, make install won't do it. You will get compile errors. So we have to change the source-code a little bit.
Create an empty textfile and name it "cinelerra-4.3-quicktime.patch" for example. Copy and paste the following in this textfile and save it.
diff -ur cinelerra-4.3.orig/quicktime/configure cinelerra-4.3/quicktime/configure --- cinelerra-4.3.orig/quicktime/configure 2009-09-16 15:24:09.000000000 -0700 +++ cinelerra-4.3/quicktime/configure 2011-08-07 15:16:53.821297032 -0700 @@ -80,7 +80,7 @@ # 030209 #cd thirdparty/ffmpeg* && ./configure --enable-pthreads --enable-libfaad --enable-gpl --disable-ffplay --extra-cflags=-I$TOPDIR/$LIBFAAD_PATH/include --extra-libs=-L$TOPDIR/$LIBFAAD_PATH/libfaad/.libs/ --disable-ffmpeg --disable-ffserver --disable-ffplay && cd ../.. # 052906 -cd thirdparty/ffmpeg* && ./configure --enable-pthreads --enable-gpl --disable-ffplay --extra-cflags=-I$TOPDIR/$LIBFAAD_PATH/include --extra-libs=-L$TOPDIR/$LIBFAAD_PATH/libfaad/.libs/ --disable-ffserver --disable-ffplay && cd ../.. +cd thirdparty/ffmpeg* && ./configure --disable-vaapi --enable-pthreads --enable-gpl --disable-ffplay --extra-cflags=-I$TOPDIR/$LIBFAAD_PATH/include --extra-libs=-L$TOPDIR/$LIBFAAD_PATH/libfaad/.libs/ --disable-ffserver --disable-ffplay && cd ../.. if [ $? -ne 0 ]; then echo "Giving up and going to a movie."; exit 1; fi diff -ur cinelerra-4.3.orig/quicktime/Makefile cinelerra-4.3/quicktime/Makefile --- cinelerra-4.3.orig/quicktime/Makefile 2011-07-29 01:25:00.000000000 -0700 +++ cinelerra-4.3/quicktime/Makefile 2011-08-07 15:16:18.434348511 -0700 @@ -262,7 +262,7 @@ all: $(OBJDIR) $(OUTPUT) -$(OUTPUT): $(OBJS) $(FFMPEG_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(LAME_OBJS) $(FAAD_LIB) $(FAAC_LIB) $(FFMPEG_LIB) $(X264_LIB) $(DV_LIB) $(JPEG_LIB) $(OGG_LIB)/ $(VORBIS_LIB) +$(OUTPUT): $(OBJS) $(FFMPEG_OBJS) $(ENCOREMMX_OBJS) $(JPEG_NASM) $(LAME_OBJS) $(FAAD_LIB) $(FAAC_LIB) $(FFMPEG_LIB) $(X264_LIB) $(DV_LIB) $(JPEG_LIB) $(OGG_LIB) $(VORBIS_LIB) find $(FFMPEG_DIR)/libavcodec/ -name *.o >> $(OBJDIR)/objs find $(FFMPEG_DIR)/libavformat/ -name *.o >> $(OBJDIR)/objs find $(FFMPEG_DIR)/libavutil/ -name *.o >> $(OBJDIR)/objs diff -ur cinelerra-4.3.orig/quicktime/thirdparty/faac-1.24/frontend/main.c cinelerra-4.3/quicktime/thirdparty/faac-1.24/frontend/main.c --- cinelerra-4.3.orig/quicktime/thirdparty/faac-1.24/frontend/main.c 2008-07-09 17:51:19.000000000 -0700 +++ cinelerra-4.3/quicktime/thirdparty/faac-1.24/frontend/main.c 2011-08-07 15:19:06.592354688 -0700 @@ -30,7 +30,7 @@ #endif #ifdef HAVE_LIBMP4V2 -# include <mp4.h> +# include <mp4v2/mp4v2.h> #endif #define DEFAULT_TNS 1
Now place your patch in the cinelerra-4.3 folder, open a terminal which points to this folder and execute:
$ patch -p1 < cinelerra-4.3-quicktime.patch
4. Update some files in the source-code
Unfortunately we have to do a little bit more to get a flawless compilation. Sabayon 6 has the default compiler in version gcc-4.5.2. The program parts "festival" and "speech_tools" in the source code won't compile with this gcc-version because the code in cinelerra is simply to old. So we have to replace it with the latest versions.
Go to:
http://www.cstr.ed.ac.uk/downloads/festival/2.1/ and download festival-2.1 and speech_tools-2.1. Unpack.
Now open your favorite filemanager and go to "cinelerra-4.3/thirdparty/". There you have the festival and speech_tools Folder. Delete the complete content in both folders. Copy in the now empty folders the fresh content of your downloaded and unpacked festival and speech_tools-2.1-folders.
Finally we are done and we can proceed to the:
5. Compilation
Now open a terminal which points to the "cinelerra-4.3"-folder and execute:
$ ./configure
Followed by:
$ make
Become root:
$ su
Followed by your root-password
Finally:
# make install
In the "cinelerra-4.3/bin"-Folder you'll have your fresh Cinelerra-4.3 with the cinelerra executable.
Have fun and be creative!