Simple kdenlive builter script - version 2.0

Version 2.0 is out :)
- support for debugging
- fixes by Olo
- better ffmpeg configuration settings description
- revision number printing, last update date printing etc.
- svn update all modules support (more efficient than 'getsources')

NOTE:
Please ALWAYS call ./kdenlive_builder.sh clean prior to build.

#!/bin/bash
# Script for easy and SAFE Kdenlive & ffmpeg & mlt & mlt++ build utilizing LD_RUN_PATH
# All subprojects are compiled and installed to specified non-system directory.
# You can safely keep multiple kdenlive/ffmpeg versions.
#
# This sript ensures, that kdenlive will call only desired ffmpeg and mlt libs.
# Using LD_RUN_PATH is a better, more general, alternative to statically link it all together.
# You can verify this it by calling
# cd ~/build/kdenlive/bin && ldd ./kdenlive
# - or -
# cd ~/build/kdenlive/bin && LD_DEBUG=libs ./kdenlive 
# Set DEST_DIR in script, otherwise ~/build/kdenlive is used by default.
#
# Espinosa, Olo
# v2.0 - 27.6.2007
# v2.1 - fixed SVN URL for Kdenlive (18.7.2007)
#
# Usage:
#      kdenlive_builder getsources - call svn to get sources for all subprojects for the first time
#      kdenlive_builder updatesources - call svn to update sources for all subprojects
#      kdenlive_builder clean      - call make clean for all subprojects
#      kdenlive_builder build      - call configure and make and make install for all subprojects
#      kdenlive_builder info       - print revision numbers and dates for each component


# Modify the destination directory if you want 
# Or you can copy it afterwars to /opt/kdenlive- or wherever you want.
# Caution: if you pick /usr here, you system kdenlive, ffmpeg  and mlt will be overwritten!
export DEST_DIR=~/build/kdenlive

case "$1" in

"getsources")
# Download sources of ffmpeg, mtl, mlt++, kdenlive from their SVNs
# Call this as a very first command, call it once, then use updatesources (quicker)
# Subdirectories are created by this command
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg &&
svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt mlt &&
svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++ mlt++ &&
svn co https://kdenlive.svn.sourceforge.net/svnroot/kdenlive/trunk/kdenlive
;;

"updatesources")
# The same as 'getsources' but quicker
# You must have already all sorces downloaded prior to call this!
cd ffmpeg &&
svn update &&
cd ../mlt &&
svn update &&
cd ../mlt++ &&
svn update &&
cd ../kdenlive &&
svn update
;;

"clean")
cd ffmpeg
make clean
cd ../mlt
make clean
cd ../mlt++
make clean
cd ../kdenlive
make clean
;;

"build")
export PATH=$DEST_DIR/bin:$PATH
export LD_RUN_PATH=../lib

cd ffmpeg &&

#
# FFmpeg configuration settings explained:
#
# Note: Most of the options mean that an external library is required! Remember, many codecs, especially audio codecs, 
# are NOT implemented by FFmpeg, or the implementation is inferior.
#
# --enable-gpl        .. enable GPLed libraries, like swscaller - ESSENTIAL, REQUIRED by MLT
# --enable-swscaler   .. enable SW scaller, statically linked lib handled by ffmpeg but GPL - ESSENTIAL, REQUIRED by MLT
# --enable-libmp3lame .. support for mp3 audio codec - STRONGLY RECOMMENDED
# --enable-liba52     .. support for ACC (aka A52) audio codec used in DVDs - STRONGLY RECOMMENDED
# --enable-libogg     .. support for OGG format - RECOMMENDED
# --enable-pp         .. enable post processing of video - required??
# --enable-libtheora  .. support for theora video codec by external lib - RECOMMENDED
# --enable-libvorbis  .. support for theora video codec by external lib - RECOMMENDED
# --enable-libx264    .. support for high quality H264 codec, extern. lib - GOOD TO HAVE
# --enable-libfaad    .. support for Advaced Audio codec - AAC (iPod, some mp4) - GOOD TO HAVE
# --enable-libfaac    .. altern. support for Advaced Audio codec - AAC (iPod, some mp4) - GOOD TO HAVE
#
# --enable-vhook      .. have no idea what is this good for, set on by default
# --enable-x11grab    .. have no idea what is this good for, set on by default
#
# --enable-libgsm     .. support for low bandwith GSM audio codec, mostly speach, not much used in movies
# --enable-xvid       .. Xvid codec support is well handled by FFmpeg itself - NOT RECOMMENDED
# --enable-amr_nb     .. support for audio codec, not widely used ?
# --enable-amr_wb     .. support for audio codec, not widely used ?
# --enable-libdts     .. support for audio? codec, not widely used ?
#
# --enable-debug      .. DEBUGGING support is swith ON by default. For a final distribution wise version remove this paramater
#

./configure --prefix=$DEST_DIR \
--enable-gpl \
--enable-shared \
--enable-swscaler \
--enable-libogg \
--enable-pp \
--enable-libtheora \
--enable-libmp3lame \
--enable-libvorbis \
--enable-liba52 \
--enable-libx264 \
--enable-debug &&
make &&
make install &&

cd ../mlt &&
./configure --prefix=$DEST_DIR --enable-gpl --avformat-swscale --enable-motion-est --enable-mmx --enable-debug &&
make &&
make install &&


cd ../mlt++ &&
./configure --prefix=$DEST_DIR --enable-debug &&
make &&
make install &&


cd ../kdenlive &&
sh bootstrap &&
./configure --prefix=$DEST_DIR --enable-debug=full &&
make &&
make install
;;

"info")
# Print SVN revision number and udate date for each component
# Good to know when reporting an error
cd ffmpeg
echo "FFmpeg SVN version:"
svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../mlt
echo "MLT SVN version:"
svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../mlt++
echo "MLT++ SVN version:"
svn info | grep '\(Revision\|Last\ Changed\ Date\)'
cd ../kdenlive
echo "Kdenlive SVN version:"
svn info | grep '\(Revision\|Last\ Changed\ Date\)'
;;

*)
# print some help
echo 'Kdenlive & ffmpeg & mlt & mlt++ build script utilizing LD_RUN_PATH'
echo 'Set DEST_DIR in script, otherwise ~/build/kdenlive is used by default'
echo 'Usage: '
echo '      kdenlive_builder getsources - call svn to get sources for all subprojects for the first time'
echo '      kdenlive_builder updatesources - call svn to update sources for all subprojects'
echo '      kdenlive_builder clean - clean subdirs. Recommended to call prior to build'
echo '      kdenlive_builder build - build and instal all sources to user defined directory'
echo '      kdenlive_builder info  - print revision numbers and dates for each component'
;;

esac

# Changelog:
# v1.0 - 16.6.2007
#    initial version
# v2.0 - 27.6.2007
#    support for debugging
#    fixes by Olo
#    better ffmpeg help
#    revision number printing, etc.
#

UPDATE - 18.7.2007
v2.1 - fixed sourceforge SVN URL for Kdenlive (changed? when?)
Using the latest script from SVN is highly suggested

http://kdenlive-dev-helpers.googlecode. ... builder.sh

Actually I have problems building ffmpeg using your script

ra@kubuntu-testbox:/prog/build$ ./kdenlive_builder.sh build
ERROR: x264 not found
If you think configure made a mistake, make sure you are using the latest
version from SVN.  If the latest version fails, report the problem to the
ffmpeg-devel@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.err" produced by configure as this will help
solving the problem.
ra@kubuntu-testbox:/prog/build$ 

I use kubuntu 7.04 and x264 is located here

ra@kubuntu-testbox:/usr/local/lib$ locate libx264
/var/lib/dpkg/info/libx264-dev.list
/var/lib/dpkg/info/libx264-dev.md5sums
/usr/share/doc/libx264-dev
/usr/share/doc/libx264-dev/changelog.Debian.gz
/usr/share/doc/libx264-dev/copyright
/usr/share/doc/libx264-dev/AUTHORS
/usr/lib/libx264_pic.a
/usr/lib/libx264.a
/prog/svn/mlt/trunk/mlt/src/modules/avformat/ffmpeg/libavcodec/.svn/prop-base/libx264.c.svn-base
/prog/svn/mlt/trunk/mlt/src/modules/avformat/ffmpeg/libavcodec/.svn/text-base/libx264.c.svn-base
/prog/svn/mlt/trunk/mlt/src/modules/avformat/ffmpeg/libavcodec/libx264.c
/prog/build/ffmpeg/libavcodec/.svn/prop-base/libx264.c.svn-base
/prog/build/ffmpeg/libavcodec/.svn/text-base/libx264.c.svn-base
/prog/build/ffmpeg/libavcodec/libx264.c
ra@kubuntu-testbox:/usr/local/lib$ 

Any idea?

btw - I would love to use such a script to install a stable version beside the development version!
Any plans for that?

btw2 - "./kdenlive_builder.sh clean" seems not to work after a fresh checkout since some files are not existent at this point ...

ra@kubuntu-testbox:/prog/build$ ./kdenlive_builder.sh clean
Makefile:5: config.mak: No such file or directory
/version.sh
make: /version.sh: Command not found
make: *** No rule to make target `config.mak'.  Stop.
Makefile:26: config.mak: No such file or directory
make: *** No rule to make target `config.mak'.  Stop.
Makefile:1: config.mak: No such file or directory
make: *** No rule to make target `config.mak'.  Stop.
make: *** No rule to make target `clean'.  Stop.
ra@kubuntu-testbox:/prog/build$

reinhard wrote:
I use kubuntu 7.04 and x264 is located here

Hmmm, locate on my system returns an: /usr/bin/x264 entry, are you certain you have it installed? Maybe you need the binary as well as the -dev package? failing that, you could just remove the --enable-libx264 line from the script.

reinhard wrote:
btw - I would love to use such a script to install a stable version beside the development version!
Any plans for that?

Hmmm, would this be needed? There're stable version binaries of Kdenlive (and MLT, for Ubuntu) available.

reinhard wrote:
btw2 - "./kdenlive_builder.sh clean" seems not to work after a fresh checkout since some files are not existent at this point ...

A clean will only work after a successful compile. :)

*** EDIT ***
Just tried this and x264 causes the same error for me too (on Kubuntu also). Just delete the --enable-libx264 from the ffmpeg ./configure line

Quote:
btw - I would love to use such a script to install a stable version beside the development version!
Any plans for that?

Indeed you can! I myself have stable 0.4 and SEVERAL versions of 0.5svn installed (all builded by kdenlive_builder).
This script was created exactly for this reason.

AD x264
You don't have libx264-dev installed (or incorrectly installed). You are missing a crucial file, the header file:
/usr/include/x264.h
But as was written, you can omit x264 support quite easily, it is a "nice to have", but since this codec is still not much widely used, and even the open source implementation is rather beta quality you can remove the option.

jeevesbond wrote:
reinhard wrote:
btw - I would love to use such a script to install a stable version beside the development version!
Any plans for that?

Hmmm, would this be needed? There're stable version binaries of Kdenlive (and MLT, for Ubuntu) available.

Yes, but using your script I could create several stable kdenlive versions and stuff, the other way round, in a non-system directory which prevent conflicts with developer version which I actually install to /usr/local!
The other point is that I can create kdenlive directly after the release and don't have to wait for the official release of the distro's package maintainer. ;)
Also it's easy to tweak the compile options within your script to serve a special purpose!!

I think there should be a way to checkout stable branches by modify the checkout strings, right?
So finally there could be a special version of the script to create only stable versions?

But maybe this don't make sense? What do you mean :?:

espinosa_cz wrote:
Quote:
btw - I would love to use such a script to install a stable version beside the development version!
Any plans for that?

Indeed you can! I myself have stable 0.4 and SEVERAL versions of 0.5svn installed (all builded by kdenlive_builder).
This script was created exactly for this reason.

AD x264
You don't have libx264-dev installed (or incorrectly installed). You are missing a crucial file, the header file:
/usr/include/x264.h
But as was written, you can omit x264 support quite easily, it is a "nice to have", but since this codec is still not much widely used, and even the open source implementation is rather beta quality you can remove the option.

I'm sure I've checked that libx264-dev package (kubuntu) is installed, but I will check this again when back on a linux machine.

Can you please give some more information how do you modified your script to create the stable version ?

Quote:
I'm sure I've checked that libx264-dev package (kubuntu) is installed, but I will check this again when back on a linux machine.

Then there is the right time to fill a bug report to Ubuntu bugzilla or whatever they use.
Check the Ubuntu forums first you may be not the first one having issues with this.
Note: I'm on SUSE.

Quote:
Can you please give some more information how do you modified your script to create the stable version ?

Stable version - you mean 0.4? I installed it from my distribution repository. (Packman additional repo to be precise)
There is a little problem with ffmpeg it lacks proper release management all distributions use SVN snapshots.
With mtl and kdenlive - yes they DO have release management.

Particular SVN revision is simply proclaimed as a stable release and you can retrieve this specified revision whenever you want, just modify the svn command, check man page for SVN. Or JB will branch it, splitting HEAD and STABLE_0_5 branches. Then you can retrieve source snapshot by name not a number :)

P.S.
Thank you for promoting the "Full Kdenlive Build" way with fresh MLT and FFmpeg. This is the way to get the right set of testers, to avoid problem with outdated or failing distribution versions.

I have created a record about the script in kdenlive wiki in Getting_and_installing section. See:

http://en.wikibooks.org/wiki/Kdenlive/G ... installing

Espinosa, I've started a new project on Google Code project hosting:

http://code.google.com/p/kdenlive-dev-helpers/

I've imported your script v.2.0 over there.

Do you have a Google account? If so, contact me at

mailto:aleksander.adamowski@gmail.com

and I'll give you necessary access to the project.

Hi espinosa_cz & thank you for your efforts. :!:
I want to get some help and build KDENLIVE and make it available for Ubuntu Feisty Fawn users.
I visited and tried everything in interned before I post here. :roll:
Yes, I installed kdenlive binary packages, and it works but crashes, currently when passing through transitions (while rendering or by manually moving the marker) :evil:

Anyway, I also deleted the line with x264 (though I built it, and made make install...)
so the first question -
./kdenlive_builder.sh build

output:
...
cc -shared -o ../libmltsox.so factory.o filter_sox.o -lst `libst-config --libs` -L../../framework -lmlt
/usr/bin/ld: cannot find -lmad
collect2: ld returned 1 exit status
make[2]: *** [../libmltsox.so] Error 1
make[2]: Leaving directory `/home/val/kdenliveBuild/mlt/src/modules/sox'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/val/kdenliveBuild/mlt/src/modules'
make: *** [all] Error 1
root@val-desktop:~/kdenliveBuild#

----------
update: found the problem- the library libmad-dev was missing

:idea: :?: :geek:

vhof973 wrote:

...
make[2]: Entering directory `/home/val/kdenliveBuild/mlt/src/modules/sox'
cc -shared -o ../libmltsox.so factory.o filter_sox.o  -lst `libst-config --libs` -L../../framework -lmlt
/usr/bin/ld: cannot find -lmad
collect2: ld returned 1 exit status
make[2]: *** [../libmltsox.so] Error 1

:idea: :?: :geek:

Look at the error message from the ld (the linker utility) - gcc received the instructions -lmad, which means to link with the mad library, but you probably don't have the necessary development package installed that would contain header files and libtool library files that are necessary for linking.

For Ubuntu Feisty, install libmad0-dev package.

Hi,

I've been trying to use this script to build kdenlive (on Fedora 7) but I am getting the following error when doing 'kdenlive_builder getsources':

svn: PROPFIND request failed on '/svnroot/kdenlive/trunk/kdenlive'
svn: PROPFIND of '/svnroot/kdenlive/trunk/kdenlive': Could not resolve hostname `svn.sourceforge.net': Host not found (

https://svn.sourceforge.net

)

Has sourceforge moved?

I also tried the rpms for Fedora but I got a crash:

[KCrash handler]
#6 0x0011cd76 in mlt_properties_set () from /usr/lib/libmlt.so.0.2.2
#7 0x00000001 in ?? ()
#8 0x474e4fc0 in QWidget::setUpdatesEnabled () from /lib/ld-linux.so.2
#9 0xb7f71460 in ?? ()
#10 0xbfa2638c in ?? ()
#11 0xbfa263a8 in ?? ()
#12 0x474d29e0 in _dl_lookup_symbol_x () from /lib/ld-linux.so.2
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

However I know there are issues with ffmpeg on Fedora if you use the livna repo (as I do) hence I figure building everything from source is my best bet.

olo wrote:
vhof973 wrote:

...
make[2]: Entering directory `/home/val/kdenliveBuild/mlt/src/modules/sox'
cc -shared -o ../libmltsox.so factory.o filter_sox.o  -lst `libst-config --libs` -L../../framework -lmlt
/usr/bin/ld: cannot find -lmad
collect2: ld returned 1 exit status
make[2]: *** [../libmltsox.so] Error 1

:idea: :?: :geek:

Look at the error message from the ld (the linker utility) - gcc received the instructions -lmad, which means to link with the mad library, but you probably don't have the necessary development package installed that would contain header files and libtool library files that are necessary for linking.

For Ubuntu Feisty, install libmad0-dev package.

Thank you olo, did that and now it compiled! :)

Another question,
now I'm running the compiled version-

root@val-desktop:~/build/kdenlive/bin# gksu kdenlive

everything works fine, until i render scene or pass with handle through transition
so the bug still exists - and please help me to solve that crash before I do it myself :) thanks ;)

...
kdenlive: +++++++++++ Generating scenelist start... ++++++++++++++++++
kdenlive: + ++ + ++ ++ PREPARE VID THUMB
kdenlive: + ++ + ++ ++ PREPARE AUDIO THUMB
kdenlive: WARNING: Got a request for a changed clip that is not in the document : 105-christina_aguilera-understand.mp3
kdenlive: *** DOCUMENT adding clip: 105-christina_aguilera-understand.mp3
kdenlive: WARNING: Got a request for a changed clip that is not in the document : nthuerey_magicfluidcontrol.avi
kdenlive: *** DOCUMENT adding clip: nthuerey_magicfluidcontrol.avi
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
Launched ok, pid = 7146
kdenlive: +++ One clip removed from list
OggS-SEEK: at 0 want 60408 got 51136 (diff-requested 60408)
OggS-SEEK: at 60352 want 520 got 0 (diff-requested -59832)
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 20
Minor opcode: 0
Resource id: 0x5000c6e
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 20
Minor opcode: 0
Resource id: 0x5000c6e
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 18
Minor opcode: 0
Resource id: 0x5000c6e
kdenlive: +++ One clip removed from list
kdenlive: WARNING: DocClipBase::createClip() n is null
kdenlive: +++++++++++ Generating scenelist start... ++++++++++++++++++
kdenlive: + ++ + ++ ++ PREPARE VID THUMB
kdenlive: + ++ + ++ ++ PREPARE AUDIO THUMB
kdenlive: ********** FREED MEM FOR: 105-christina_aguilera-understand.mp3, COUNT: 0
kdenlive: +++++++++++ Generating scenelist start... ++++++++++++++++++
KCrash: Application 'kdenlive' crashing...
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 169
Major opcode: 147
Minor opcode: 3
Resource id: 0x0
Failed to open device
QSocketNotifier: invalid socket 12 and type 'Read', disabling...
QSocketNotifier: invalid socket 9 and type 'Read', disabling...
QSocketNotifier: invalid socket 4 and type 'Read', disabling...
QSocketNotifier: invalid socket 11 and type 'Read', disabling...
QSocketNotifier: invalid socket 7 and type 'Read', disabling...
kdenlive: Fatal IO error: client killed
ICE default IO error handler doing an exit(), pid = 7109, errno = 9

..maybe this reminds someone something :geek: :roll:

extremebob wrote:
Hi,

I've been trying to use this script to build kdenlive (on Fedora 7) but I am getting the following error when doing 'kdenlive_builder getsources':

svn: PROPFIND request failed on '/svnroot/kdenlive/trunk/kdenlive'
svn: PROPFIND of '/svnroot/kdenlive/trunk/kdenlive': Could not resolve hostname `svn.sourceforge.net': Host not found (

https://svn.sourceforge.net

)

Has sourceforge moved?

Yes, it has.

Always use the latest version of the kdenlive_builder.sh build script from

http://code.google.com/p/kdenlive-dev-helpers/

.

vhof973 wrote:
Another question,
now I'm running the compiled version-

root@val-desktop:~/build/kdenlive/bin# gksu kdenlive

Why are you doing anything as root? Apart from installing necessary libraries, you can do everything from an unprivileged account - build KDEnlive, use it and debug it, modify the source, rebuild and test your modifications. No need to use root at all.

vhof973 wrote:
kdenlive: +++++++++++ Generating scenelist start... ++++++++++++++++++
KCrash: Application 'kdenlive' crashing...

A stack trace that KCrash display would be more useful. But AFAIR, if you build KDEnlive with kdenlive_builder.sh, KCrash will not kick in - did you run the version built with kdenlive_builder.sh?

It would be better to disable KCrash and extract the stack trace using gdb:

1) run the kdenlive binary from gdb (GNU Debugger):

gdb /path/to/kdenlive
....
(gdb) run

2) after it crashes and gdb waits for your input, instruct it to show you the info about running threads at the moment of the crash:

(gdb) info threads

3) and the call stack (stacktrace / backtrace) for all the threads is necessary:

(gdb) thread apply all bt

The call stack will be human readable only if you compiled KDEnlive with debug symbols - the kdenlive_builder.sh script does that.

At this moment you can usually spot where the crash comes from in KDEnlive source code and have a look at the problematic fragment by yourself, and try to fix it (C++ knowledge required).

Quote:
Why are you doing anything as root? Apart from installing necessary libraries, you can do everything from an unprivileged account - build KDEnlive, use it and debug it, modify the source, rebuild and test your modifications. No need to use root at all.

I'm experienced Windoze programmer, but in Linux I'm new :) Thanks for this tip :!:

Quote:
vhof973 wrote:
kdenlive: +++++++++++ Generating scenelist start... ++++++++++++++++++
KCrash: Application 'kdenlive' crashing...

A stack trace that KCrash display would be more useful. But AFAIR, if you build KDEnlive with kdenlive_builder.sh, KCrash will not kick in - did you run the version built with kdenlive_builder.sh?

yes, I compiled everything with kdenlive_builder.sh, but I'll check again this problem :geek:

Quote:
It would be better to disable KCrash and extract the stack trace using gdb:

1) run the kdenlive binary from gdb (GNU Debugger):

gdb /path/to/kdenlive
....
(gdb) run

2) after it crashes and gdb waits for your input, instruct it to show you the info about running threads at the moment of the crash:

(gdb) info threads

3) and the call stack (stacktrace / backtrace) for all the threads is necessary:

(gdb) thread apply all bt

The call stack will be human readable only if you compiled KDEnlive with debug symbols - the kdenlive_builder.sh script does that.

At this moment you can usually spot where the crash comes from in KDEnlive source code and have a look at the problematic fragment by yourself, and try to fix it (C++ knowledge required).

thank you!, I'll post my fix later, though I don't know here or in other place in this forum.

Hi,

Thanks for the link to the updated script. getsources is now working but I have a problem now when compiling mlt. I won't paste the entire output here as it's huge but the errors are:

make[1]: Leaving directory `/home/bob/src/kdenlive/mlt/src/albino'
filter_sox.c:228:43: error: missing binary operator before token "("
filter_sox.c:235:43: error: missing binary operator before token "("
filter_sox.c:329:43: error: missing binary operator before token "("
make[2]: *** [depend] Error 1
make[1]: *** [depend] Error 1
make: *** [all] Error 1

All the lines it's complaining about are the same:

#if (ST_LIB_VERSION_CODE >= ST_LIB_VERSION(13,0,0))

I guess this must be something to do with my c preprocessor, but I'm not a linux or C expert. Can anyone help? I have gcc version 4.1.2 20070502 (Red Hat 4.1.2-12) if that's any help.

extremebob wrote:
...

filter_sox.c:228:43: error: missing binary operator before token "("

...

I guess this must be something to do with my c preprocessor, but I'm not a linux or C expert. Can anyone help? I have gcc version 4.1.2 20070502 (Red Hat 4.1.2-12) if that's any help.

In my case it's cpp-4.1.2:

$ dpkg -S `which cpp`
cpp: /usr/bin/cpp
$ dpkg -l cpp
...
||/ Name           Version        Description
+++-==============-==============-============================================
ii  cpp            4.1.2-1ubuntu1 The GNU C preprocessor (cpp)

However, it might be a problem with the particular MLT revision from that day - remember, we're using SVN versions, they might not compile. Simply wait till the next day, update your sources and try again...

vhof973 wrote:
yes, I compiled everything with kdenlive_builder.sh, but I'll check again this problem :geek:

BTW, you may find this KDEnlive debug HOWTO useful:

http://code.google.com/p/kdenlive-dev-h ... ngKDEnlive

Thanks for your help. I've been experimenting with Linux and wasn't committed to getting this to work on Fedora.... In the end I switched from Fedora to Mandriva and installed the package instead :mrgreen: Much easier, and now it's running fine.

You can tell the guys at Mandriva that kdenlive has won them another user!

TO ALL
You have to change directory to ~/build/kdenlive PRIOR you launch kdenlive binary!

If you run kdenlive like ~/build/kdenlive/bin/kdenlive it will most probably break. Beacause it will not find the compiled libraries or will try to run against older system ones, probably incompatible.

Explanation:
The library paths (mlt, ffmpeg) are relative, but to user current directory, not the directory where is the binary (the exe file). There is a detailed instruction how to test linker runtime behavior in these forums.

Unfortunatelly I don't know how to instruct the build proces to treat relative paths as relative to binary location not to a current directory :( Until this is solved you need change directory to ~/build/kdenlive first when launching from command line.

There are many workarounds:
- create a bash wrapper
- set LD_LIBRARY_PATH
but any is ideal.

Hi all,

I'm experiencing some problems trying to build kdenlive with the script. I'm receiving the following message:

install -m 644 producers.dat filters.dat transitions.dat consumers.dat "~/build/kdenlive.2007-08-03_18_39/share/mlt/modules"
install: el destino, `~/build/kdenlive.2007-08-03_18_39/share/mlt/modules', no es un directorio
make[1]: *** [install] Error 1
make[1]: se sale del directorio `/usr/src/mlt/src/modules'

It's saying destination ~/build/kdenlive.2007-08-03_18_39/share/mlt/modules is not a directory and then exiting /usr/src/mlt/src/modules with error 1.

Don't know if somebody has reported this error yet, as I've been out for some days. If so, sorry !

Any clue ?

Regards. Joan

Hi all!

I have feisty 32bit and im trying to install kdenlive 0.6. I have autoconf 2.63 but when i build the sources i get this error:

make[1]: Verlasse Verzeichnis '/home/amonsul/Desktop/mlt++/test'
Bootstrap is now trying to create a ./configure script suitable for Kdenlive
WARNING: running bootstrap is only usefull when checking out Kdenlive from CVS.

./admin/cvs.sh: 651: --version: not found
*** AUTOCONF NOT FOUND!.
*** KDE requires autoconf 2.53 or newer
make: *** [cvs] Fehler 1
amonsul@amonsul-desktop:~/Desktop$ 

Someone could help me?
Bye :)

amonsul wrote:
Hi all!

I have feisty 32bit and im trying to install kdenlive 0.6. I have autoconf 2.63 but when i build the sources i get this error:

make[1]: Verlasse Verzeichnis '/home/amonsul/Desktop/mlt++/test'
Bootstrap is now trying to create a ./configure script suitable for Kdenlive
WARNING: running bootstrap is only usefull when checking out Kdenlive from CVS.

./admin/cvs.sh: 651: --version: not found
*** AUTOCONF NOT FOUND!.
*** KDE requires autoconf 2.53 or newer
make: *** [cvs] Fehler 1
amonsul@amonsul-desktop:~/Desktop$ 

Someone could help me?
Bye :)

I have the exact same problem. I'm on Ubuntu 7.04 Feisty. Autoconf is installed.
I've installed kdenlive through trevino's repository earlier, spent a really long time editing a video, and then found that I couldn't render it without the sound being about twice as fast, and the video is also playing fast. So I'm trying to do it from source now with this builder script.

I too am trying to install the SVN and getting failures on Kubuntu 7.10 (Gutsy); here is my output:

...
...
...
GPL License Used
list='src/framework src/inigo src/valerie src/miracle src/humperdink src/albino src/modules profiles'; \
        for subdir in $list; do \
                make -s -C $subdir depend || exit 1; \
                make -C $subdir all || exit 1; \
        done
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/framework'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/framework'
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/inigo'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/inigo'
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/valerie'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/valerie'
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/miracle'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/miracle'
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/humperdink'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/humperdink'
make[1]: Entering directory `/home/eljefe/KDEnlive_SVN/mlt/src/albino'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/eljefe/KDEnlive_SVN/mlt/src/albino'
cc: error trying to exec 'cc1plus': execvp: No such file or directory
cc: error trying to exec 'cc1plus': execvp: No such file or directory
cc: error trying to exec 'cc1plus': execvp: No such file or directory
cc: error trying to exec 'cc1plus': execvp: No such file or directory
cc: error trying to exec 'cc1plus': execvp: No such file or directory
make[2]: *** [depend] Error 1
make[1]: *** [depend] Error 1
make: *** [all] Error 1
eljefe@eljefe-desktop:~/KDEnlive_SVN$  

Hi,

be sure you've installed the following packages

qt4-dev-tools, kdelibs4-dev, libsdl1.2-dev, libsdl-image1.2-dev, libsamplerate0, libsamplerate0-dev, libdv4-dev, ladspa-sdk, libjack-dev, swh-plugins, sox, sox-dev, libmad0-dev, subversion, libgsm1-dev, autotools-dev, g++, automake1.9, autoconf.

I think the one you miss is the bold one (g++), but to be sure check them all !!!

Regards.
JM

The script works for me right up until almost the very end. But I get a "permission denied" error:

install -d "/home/dave/build/kdenlive.2007-12-12_00_07/include/mlt++"
install -m 644 config.h Mlt.h MltConsumer.h MltDeque.h MltEvent.h MltFactory.h MltField.h MltFilter.h MltFilteredConsumer.h MltFrame.h MltGeometry.h MltMiracle.h MltMultitrack.h MltParser.h MltPlaylist.h MltProducer.h MltProperties.h MltPushConsumer.h MltResponse.h MltService.h MltTokeniser.h MltTractor.h MltTransition.h "/home/dave/build/kdenlive.2007-12-12_00_07/include/mlt++"
/sbin/ldconfig || true
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
make[1]: Leaving directory `/home/dave/kdenlive_builder/mlt++/src'
make -C test install 
make[1]: Entering directory `/home/dave/kdenlive_builder/mlt++/test'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/dave/kdenlive_builder/mlt++/test'
sh: Can't open bootstrap

I don't think I want to run this script as root, so how do I get by this error?

By the way, I'm on Ubuntu Gutsy 7.10. The version in the repositories is not working for me (as I've mentioned in another thread), so I'd like to try installing from source and see if that works better.

Thank you for any advice.

Ignore this

/sbin/ldconfig || true
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied

This is not a real error. Libs and executables are instructed by LD_RUN_PATH where to get other libs so calling ldconfig gives no sense in case of kdenlive_build script.

You should not run the script as root.

Espinoza,

Thank you for replying.

Okay, so the permission denied error is a red herring.

But, it seems nonetheless that something is wrong because when it is finished, there is no Kdenlive folder or executable in the install directory.

i am using the script but it stops at this

make[1]: Leaving directory `/home/maz/build/kdenlive/ffmpeg/libswscale'
make: *** No rule to make target `/home/maz/ffmpeg/libavformat/avformat.h', needed by `ffmpeg.o'.  Stop.

libavformat and dev files are installed: locate shows these files-
/usr/lib/libavformat.so
/usr/lib/libavformat.so.51
/usr/lib/pkgconfig/libavformat.pc
/usr/lib/libavformat.so.1d.51.10.0
/usr/lib/libavformat.so.1d
/usr/lib/libavformat.so.51.11.0
/usr/lib/libavformat.a
/usr/lib/libavformat.so.50

/usr/include/ffmpeg/avformat.h

What could be going wrong?
(Using ubuntu 7.10)

For me on Ubuntu 7.10 I'm getting this from SVN checkout:

allcodecs.c: In function ‘avcodec_register_all’:
allcodecs.c:214: error: ‘ENABLE_PCM_S16LE_PLANAR_DECODER’ undeclared (first use in this function)
allcodecs.c:214: error: (Each undeclared identifier is reported only once
allcodecs.c:214: error: for each function it appears in.)
allcodecs.c:292: error: ‘ENABLE_MLP_PARSER’ undeclared (first use in this function)
make[1]: *** [allcodecs.o] Error 1

my problem of ./configure not finding avformat.h was solved by adding to configure the path to ffmpeg (svn compile directory). Still the script does not function smoothly...needs much looking into and fixing things...

cinemanna wrote:
i am using the script but it stops at this
make[1]: Leaving directory `/home/maz/build/kdenlive/ffmpeg/libswscale'
make: *** No rule to make target `/home/maz/ffmpeg/libavformat/avformat.h', needed by `ffmpeg.o'.  Stop.

libavformat and dev files are installed: locate shows these files-
/usr/lib/libavformat.so
/usr/include/ffmpeg/avformat.h

What could be going wrong?
(Using ubuntu 7.10)

All your builded stuff (libs, executables) is in /home/maz/build/kdenlive and nowhere else.
Locate found your system /usr/lib/* ffmpeg libs. Ignore this.
Don't use locate, it is capable to look inside standard directories only (unless specially set and reindexed). Rather use Beagle or Strigi or some modern search tool ;) You don't need locate or similar anyway all is under /home/maz/build/kdenlive it simply cannot be simpler :)

Don't delete any library as was suggested, there may be other dependent programs on it. You can break your system!
Kdenlive build script was designed precisely for isolastion of developer svn version libraries from interfering with rest of your system.
So that is why everything under /home/maz/build/kdenlive

The error reported is weird. Try to check out sources again. Check if svn checkout finished OK and all files got downloaded. Try never ffmpeg version. They can have bugs too. Or look for specific Ubuntu & FFmpeg issues on this and other forums.

so, if people are still compiling recent builds with a working script that doesn't require root access, can someone post it? the last one i saw wanted my root account to install :(

Hi!

Could someone tell me whats the problem here?
Thanks!

amonsul@amonsul:~/kdenlive$ sudo ./kdenlive_builder.sh clean
Makefile:5: config.mak: No such file or directory
cc -I -I -I/libavutil -I/libavcodec -I/libavformat -I/libswscale -I/libavdevice -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -DHAVE_AV_CONFIG_H  -MM vhook/fish.c vhook/null.c vhook/watermark.c vhook/drawtext.c vhook/imlib2.c vhook/ppm.c | sed 's,^\([a-z]\),vhook/\1,' > .vhookdep
vhook/fish.c:47:23: Fehler: framehook.h: No such file or directory
vhook/fish.c:48:21: Fehler: dsputil.h: No such file or directory
vhook/fish.c:49:22: Fehler: avformat.h: No such file or directory
vhook/fish.c:50:21: Fehler: swscale.h: No such file or directory
vhook/null.c:23:23: Fehler: framehook.h: No such file or directory
vhook/null.c:24:21: Fehler: swscale.h: No such file or directory
vhook/watermark.c:61:20: Fehler: common.h: No such file or directory
vhook/watermark.c:62:22: Fehler: avformat.h: No such file or directory
vhook/watermark.c:64:23: Fehler: framehook.h: No such file or directory
vhook/watermark.c:65:22: Fehler: cmdutils.h: No such file or directory
vhook/watermark.c:66:21: Fehler: swscale.h: No such file or directory
vhook/drawtext.c:48:23: Fehler: framehook.h: No such file or directory
vhook/drawtext.c:61:10: Fehler: #include erwartet "DATEINAME" oder 
vhook/drawtext.c:62:10: Fehler: #include erwartet "DATEINAME" oder 
vhook/imlib2.c:48:23: Fehler: framehook.h: No such file or directory
vhook/imlib2.c:49:21: Fehler: swscale.h: No such file or directory
vhook/imlib2.c:61:18: Fehler: eval.h: No such file or directory
vhook/ppm.c:28:23: Fehler: framehook.h: No such file or directory
vhook/ppm.c:29:22: Fehler: avformat.h: No such file or directory
vhook/ppm.c:30:21: Fehler: swscale.h: No such file or directory
vhook/ppm.c:31:22: Fehler: avstring.h: No such file or directory
/version.sh 
make: /version.sh: Kommando nicht gefunden
make: *** Keine Regel, um »config.mak« zu erstellen.  Schluss.
Makefile:27: config.mak: No such file or directory
make: *** Keine Regel, um »config.mak« zu erstellen.  Schluss.
Makefile:1: config.mak: No such file or directory
make: *** Keine Regel, um »config.mak« zu erstellen.  Schluss.
make: *** Keine Regel, um »clean« zu erstellen.  Schluss.
amonsul@amonsul:~/kdenlive$ sudo ./kdenlive_builder.sh build
Unknown option "--enable-libogg".
See ./configure --help for available options.
amonsul@amonsul:~/kdenlive$ 

thanks espinosa. will attempt again with your guidelines. the safety of everything being in the build directory will let my 0.5 install work so i can 'risk' trying svn.....:-)

Is this script still suitable for debugging or is there any other better choice?
I just tried it and latest ffmpeg config doesn't have --enable-swscaler option, only disable-

./kdenlive_builder.sh build
Unknown option "--enable-swscaler".

cd ffmpeg/ && ./configure --help | grep scale
--disable-swscale disable libswscale build
--enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale

Will try to comment it out.

P.S.
./kdenlive_builder.sh info
FFmpeg SVN version:
Revision: 25683
Last Changed Date: 2010-11-06 18:48:41 +0200 (Sat, 06 Nov 2010)
MLT SVN version:
Revision: 1500
Last Changed Date: 2009-05-15 12:19:09 +0300 (Fri, 15 May 2009)
MLT++ SVN version:
Revision: 1500
Last Changed Date: 2009-04-15 09:36:02 +0300 (Wed, 15 Apr 2009)
Kdenlive SVN version:
Revision: 5075
Last Changed Date: 2010-11-06 02:22:25 +0200 (Sat, 06 Nov 2010)

Also not found:
--enable-libogg

--enable-pp renamed to
--enable-postproc

...

so I stopped and read carefully http://www.kdenlive.org/bug-reports
Trying to follow last paragraph.