Build script with instructions (NEW)

This is a new version of the build script that was born out of the old Kdenlive Build Wizard and published as a standalone Bash script elsewhere here on the forum. I am not maintaining the script and making the latest version available for download from the MLT wiki:

I keep getting this error when trying to rerun the Builder script.

LOG: About to run command: git reset --hard
HEAD is now at c76374c Use AVERROR_EXIT with url_interrupt_cb.
LOG: About to run command: git --no-pager pull git:// master
fatal: The remote end hung up unexpectedly
ERROR: Unable to git pull sources for ffmpeg
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to git pull sources for ffmpeg

The first time I ran the script, everything worked and I was able to compile successfully. Subsequent runs failed with the same error message. I've tried this on 2 different computers without success. Is this a problem with ffmpeg, my computers, or the script?


Your script is outdated due to the ffmpeg git repo location changing. Please download a new version. Also, 'rm -rf src/ffmpeg' from the location where you are placing and running the script.

Thanks for the tip. I downloaded the new script, removed the src/ffmpeg directory, then ran it. However, I now get the following error on both computers:

[AS] vp8/encoder/x86/sad_mmx.asm.o
[AS] vp8/encoder/x86/dct_mmx.asm.o
[AS] vp8/encoder/x86/subtract_mmx.asm.o
[AS] vp8/encoder/x86/dct_sse2.asm.o
[AS] vp8/encoder/x86/variance_impl_sse2.asm.o
[AS] vp8/encoder/x86/sad_sse2.asm.o
[AS] vp8/encoder/x86/fwalsh_sse2.asm.o
[AS] vp8/encoder/x86/quantize_sse2.asm.o
[AS] vp8/encoder/x86/subtract_sse2.asm.o
vp8/encoder/x86/quantize_sse2.asm:153: error: expected `]'
make[1]: *** [vp8/encoder/x86/quantize_sse2.asm.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [.DEFAULT] Error 2
ERROR: Unable to build libvpx
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to build libvpx


What does expected `]' mean?


same problem here. there seems to be an issue with the master branch of libvpx and --enable-shared as a configure option. at least it compiles without that option.
issue to follow:

Yes, you are correct. It compiles after removing the --enable-shared option.


i changed the configuration variable in the build script to


now the script works again. i'll keep that until the bug in libvpx master isn't resolved.

Did you change all of the other LIBVPX_HEAD variables and did you put the --enable-shared option back in after doing that?


After using the build script successfully a few times (last time was 20110427), i ran into a problem today....

After successfull compilation of ffmpeg, frei0r and mlt, it aborts soon after starting to compile Kdenlive, like this:

Generating positionedit.moc
Generating projectlist.moc
Generating complexparameter.moc
Generating customruler.moc
Generating timecodedisplay.moc
Generating kdenlivesettingsdialog.moc
/home/mc/kdenlive/src/kdenlive/thumbnailer/westleypreview.cpp: In static member function 'static uint MltPreview::imageVariance(QImage)':
/home/mc/kdenlive/src/kdenlive/thumbnailer/westleypreview.cpp:133:20: error: 'class QVarLengthArray' has no member named 'at'
/home/mc/kdenlive/src/kdenlive/thumbnailer/westleypreview.cpp:139:42: error: 'class QVarLengthArray' has no member named 'at'
Generating KoSliderCombo.moc
make[2]: *** [thumbnailer/cmake_bindir/CMakeFiles/westleypreview.dir/westleypreview.o] Error 1
make[1]: *** [thumbnailer/cmake_bindir/CMakeFiles/westleypreview.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Generating profilesdialog.moc
Generating onmonitorcornersitem.moc
Generating slideshowclip.moc
Generating effectslistwidget.moc
Generating dragvalue.moc
Generating wizard.moc
Linking CXX executable kdenlive_render
Generating monitormanager.moc
[ 12%] Built target kdenlive_render
Generating graphicsscenerectmove.moc
Generating headertrack.moc
Generating geometrywidget.moc
Generating renderer.moc
Generating mainwindow.moc
Generating monitor.moc
Generating clipdurationdialog.moc
Generating trackdialog.moc
Generating beziersplinewidget.moc
Generating audiosignal.moc
Generating clipproperties.moc
Generating unicodedialog.moc
Generating kdenlivedoc.moc
Generating statusbarmessagelabel.moc
Generating splineitem.moc
Generating simpletimelinewidget.moc
Generating cliptranscode.moc
Generating colorpickerwidget.moc
Generating keyframeedit.moc
Generating doubleparameterwidget.moc
Generating clipitem.moc
Generating kis_curve_widget.moc
Generating transitionsettings.moc
Generating simplekeyframewidget.moc
Generating trackview.moc
Generating recmonitor.moc
Generating markerdialog.moc
Generating managecapturesdialog.moc
Generating effectslistview.moc
Generating projectlistview.moc
Generating effectstackview.moc
Generating documentchecker.moc
Generating cornerswidget.moc
Generating rotowidget.moc
Generating smallruler.moc
Generating keyframehelper.moc
Generating tracksconfigdialog.moc
Generating moc_transition.cpp
Generating moc_mltdevicecapture.cpp
Generating moc_stopmotion.cpp
Generating moc_effectstackedit.cpp
Generating moc_jogaction.cpp
Generating moc_capturehandler.cpp
Generating moc_spectrogram.cpp
Generating moc_videoglwidget.cpp
Generating moc_clipmanager.cpp
Generating moc_dvdwizardmenu.cpp
Generating moc_dvdwizardchapters.cpp
Generating moc_titlewidget.cpp
Generating moc_jogshuttle.cpp
Generating moc_capture.cpp
Generating moc_abstractgfxscopewidget.cpp
Generating moc_parameterplotter.cpp
Generating moc_vectorscopegenerator.cpp
Generating moc_audiospectrum.cpp
Generating moc_docclipbase.cpp
Generating moc_archivewidget.cpp
Generating moc_geometryval.cpp
Generating moc_colorplaneexport.cpp
Generating moc_dvdwizardvob.cpp
Generating moc_renderwidget.cpp
Generating moc_abstractaudioscopewidget.cpp
Generating moc_dvdwizard.cpp
Generating moc_encodingprofilesdialog.cpp
Generating moc_abstractscopewidget.cpp
Generating moc_colortools.cpp
Generating moc_abstractmonitor.cpp
Generating moc_abstractclipitem.cpp
Generating moc_noteswidget.cpp
Generating moc_customtrackview.cpp
Generating moc_vectorscope.cpp
Generating moc_waveformgenerator.cpp
Generating moc_abstractgroupitem.cpp
Generating moc_initeffects.cpp
Generating moc_waveform.cpp
Generating moc_histogram.cpp
[ 12%] Built target kdenlive_automoc
make: *** [all] Error 2
ERROR: Unable to build kdenlive
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to build kdenlive

Any ideas what could have gone wrong here?

Should be fixed now in svn, please try again.

Thanks, compiles OK now.

The build script site is having troubles: a 503.

I'm trying to use kdenlive (0.8) on AV Linux 5.0. Version 0.8 has errors, and AV Linux is based on Debian stable, and needs *not* to have changed repositories. The build script looks to be the perfect solution. But I cannot get it!

Any other sources for the script?

I found the original script:

It needs the ffmpeg git repository changing:

# REPOLOCS[0]="git://"
# 2011-06-21 ffmpeg git repo changed

I was feeling very pleased with myself (and congrats for an excellent piece of work in the script) until it hit the git repo for mlt:

KBWLOG: About to run command: git --no-pager clone git://
Cloning into mlt...

Well, not at the moment it will not. Continuous 503 errors on MLT, for hours & hours. Bugger!

Any mirror git repos for MLT that I can trust? is back. Thank you Thank you Thank you!

I had been attempting to use git:// (which contains neither source code nor, not too surprisingly, a configure script) when I checked for the umpteenth time & it was back. Have now downloaded version 11, and will soon find out just how good your bash skills are (!) (looks good so far).

Many thanks, and glad (for you, as well as me) that you got it back.

Error compiling swfdec:

Requested 'cairo >= 1.9.4' but version of cairo is 1.8.10
Requested 'cairo-png >= 1.9.4' but version of cairo-png is 1.8.10

My distribution is from the AV Linux 5.0 DVD, which is based on Debian Squeeze (stable). The updated packages are within Sid (unstable). Naturally, if I attempt to do that, numerous other packages will be removed / updated. I suspect that I am going to land in dependency hell (been there, done that, no more thanks).

(as I am about to type this, I know it to be a lame question)

swfdec + lame are not within the earlier, and are also not mentioned on the install-from-source page:

Is either actually *required* to build kdenlive? If so, is there a method to also build cairo in the same manner, so that kdenlive & associated routines will refer to it & not to the locally-installed libraries? I'm not experienced enough with compiling to be able to answer that question, though I'm very happy to hack the build script, using the existing code as a template.

Ah well.

AlexK, are you a robot ?

@nyme: AlexK, are you a robot ?

No, but I do tend to talk to myself a great deal. Or so it seems.

On Fedora 15 x86_64, I cannot build swfdec with this script. If I replace the contents of the ~/kdenlive/src/swfdec from version 0.9.2 to 0.8.4 and modify the script so it doesn't update it back, I can compile from the build script OK.

I don't know why, I tried compiling 0.9.2 my self and it worked.

This is just my quick work around so I could get kdenlive working on my new F15 setup. Hope it helps someone!

To answer my earlier questions:

On Debian, `cairo' can be updated from Wheezy, and that will fix the version problem.
Another issue will then arise on compilation: undefined reference to symbol 'g_module_symbol'

The answer to that is here:

People on older versions of Debian (squeeze), Ubuntu (10.04), and derivatives need to disable the local build of swfdec by editing the config variables at the top of the script to say:

At that point, if you have libswfdec-dev installed, the MLT plugin will still build. :-)

We are at a crossroads as new versions of Linux no longer have swfdec in repositories, and the latest versions of swfdec (from source repo) require a newer version of cairo.

If you get a compile error when it builds swfdec, then it might be because your script is out-of-date. Some distros or new version of gcc are failing to compile it, so I forked swfdec into my git repo on where I can make patches. Latest version of the script now uses mlt's swfdec.git.


I got the following error using the build script:

No rule to make target /usr/lib/, needed by src/cmake_bindir/kdenlive

The solution was to make a new symbolic link to

sudo rm /usr/lib/mesa/
sudo ln -s /usr/lib/ /usr/lib/mesa/

My system: Linux sovrum-ssd 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC 2011 i686 i686 i386 GNU/Linux



MLT and Kdenlive custom packages for AV Linux are available for AV Linux 5.0 and it already has a custom build of swfdec included. See here: and here Although AV Linux is image-based and has no repositories it still has custom updated packages available.

Is it correct that aac encoding support is not built by default using the build script, and that the ffmpeg faac option needs to be enabled?

Building with the default settings without the aac option, rendering with an aac encoding has no audio.

To get aac encoding support, is the ffmpeg faac option used, or is there something else that should already be working?

I think I'm close. I get the following error.

I downloaded the script and have installed packages. I'm running on debian stable (squeeze).


CMake Error at /usr/share/cmake-2.8/Modules/FindKDE4.cmake:98 (MESSAGE):
ERROR: cmake/modules/FindKDE4Internal.cmake not found in
Call Stack (most recent call first):
CMakeLists.txt:51 (find_package)

CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 2.8)

should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!
ERROR: Unable to configure kdenlive
LOG: Process has finished. Reason: FAILURE Some kind of error occured: Unable to configure kdenlive

Does anyone know how to actually use this script to compile with an earlier version of FFMPEG?

I see that there's a variable for the FFMPEG revision number, but I'm having trouble what to put in as the revision. For example, the revision that tagged the 0.8 release ( at;a=commit;h=b00fc80d406fef0acd54619... ) doesn't list a revision number, it just calls it "b00fc80d406fef0acd54619a7c82e2a31e00c06c".

So is this what we put as the revision, or is it possible to get the revision number somewhere else?

Is it possible to use this scipt to build and install the components in the system (instead of in a separate folder)?

I'm trying to build kdenlive with QT Creator (for developing kdenlive) and I suppose I first need all the components compiled and it would be great to use this script to do this.