Error compiling kdenlive, MLT++ errors

To make it a little more interesting, my laptop always has different error messages than my PC. At the moment it doesn't want to compile kdenlive, and the error message starts that way:

[ 32%] Building CXX object src/cmake_bindir/CMakeFiles/kdenlive.dir/kdenlive_automoc.o                                                                               
In file included from /usr/include/mlt++/Mlt.h:24,                                                                                                                   
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/../../../src/geometryval.h:26,                                                           
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/moc_geometryval.cpp:10,                                                                  
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive_automoc.cpp:6:                                                                  
/usr/include/mlt++/MltConsumer.h:26:27: error: framework/mlt.h: Datei oder Verzeichnis nicht gefunden                                                                
In file included from /usr/include/mlt++/Mlt.h:34,                                                                                                                   
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/../../../src/geometryval.h:26,                                                           
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/moc_geometryval.cpp:10,                                                                  
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive_automoc.cpp:6:                                                                  
/usr/include/mlt++/MltMiracle.h:24:36: error: miracle/miracle_server.h: Datei oder Verzeichnis nicht gefunden                                                        
/usr/include/mlt++/MltMiracle.h:25:33: error: miracle/miracle_log.h: Datei oder Verzeichnis nicht gefunden                                                           
In file included from /usr/include/mlt++/Mlt.h:45,                                                                                                                   
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/../../../src/geometryval.h:26,                                                           
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/moc_geometryval.cpp:10,                                                                  
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive_automoc.cpp:6:                                                                  
/usr/include/mlt++/MltResponse.h:24:38: error: valerie/valerie_response.h: Datei oder Verzeichnis nicht gefunden                                                     
In file included from /usr/include/mlt++/MltService.h:28,                                                                                                            
                 from /usr/include/mlt++/MltConsumer.h:28,                                                                                                           
                 from /usr/include/mlt++/Mlt.h:24,                                                                                                                   
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/../../../src/geometryval.h:26,                                                           
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/moc_geometryval.cpp:10,                                                                  
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive_automoc.cpp:6:                                                                  
/usr/include/mlt++/MltProperties.h:39: error: ‘mlt_properties’ does not name a type                                                                                  
/usr/include/mlt++/MltProperties.h:44: error: expected `)' before ‘properties’                                                                                       
/usr/include/mlt++/MltProperties.h:47: error: ‘mlt_properties’ does not name a type                                                                                  
/usr/include/mlt++/MltProperties.h:64: error: ‘mlt_destructor’ has not been declared                                                                                 
/usr/include/mlt++/MltProperties.h:64: error: ‘mlt_serialiser’ has not been declared                                                                                 
/usr/include/mlt++/MltProperties.h:80: error: ‘mlt_listener’ has not been declared                                                                                   
In file included from /usr/include/mlt++/MltService.h:29,                                                                                                            
                 from /usr/include/mlt++/MltConsumer.h:28,                                                                                                           
                 from /usr/include/mlt++/Mlt.h:24,                                                                                                                   
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/../../../src/geometryval.h:26,                                                           
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/moc_geometryval.cpp:10,                                                                  
                 from /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive_automoc.cpp:6:                                                                  
/usr/include/mlt++/MltFrame.h:37: error: ‘mlt_frame’ does not name a type                                                                                            
/usr/include/mlt++/MltFrame.h:39: error: expected `)' before ‘frame’                                                                                                 
/usr/include/mlt++/MltFrame.h:42: error: ‘mlt_frame’ does not name a type                                                                                            
/usr/include/mlt++/MltFrame.h:43: error: ‘mlt_properties’ does not name a type                                                                                       
/usr/include/mlt++/MltFrame.h:44: error: expected ‘;’ before ‘*’ token                                                                                               
/usr/include/mlt++/MltFrame.h:45: error: expected ‘;’ before ‘(’ token                                                                                               
/usr/include/mlt++/MltFrame.h:46: error: expected ‘;’ before ‘(’ token
 

Looking forward to any idea ;)

Simon

I think you have a broken MLT or MLT++ install. I would recommend that you clean up your system (remove all references to MLT and MLT++ in /usr and in /usr/local).

Then make clean in MLT, MLT++ and Kdenlive and recompile them all. Make sure to install everything in the same place, it will be easier. (for example configure MLT and MLT++ with the flag: "-prefix=/usr/local" and for Kdenlive, call cmake with the flag: "-DCMAKE_INSTALL_PREFIX=/usr/local"

Also try to do a "sudo ldconfig" after MLT and MLT++ install to update the links to the correct libraries.

Otherwise you might try the Kdenlive Builder Wizard which will compile everything for you...

I guess my kdenlive is cursed. I did make a clean install, all into /usr. And still this *** error. Now I tried to start the wizard, but it crashes just when starting it.

kmdr-executor btw doesn't work at all, but kommander , and here is the error log.

$ kommander 85826-kdenlive_builder_wizard.kmdr
kommander(32235) KommanderFactory::loadPlugins: KommanderFactory::loadPlugins - Can't load Kommander plugin library "libkommanderwidgets"
KCrash: Application 'kommander' crashing...
sock_file=/home/simon/.kde4/socket-siduxL/kdeinit4__0

:(((

Simon

I still don't think your MLT install is correct. Can you play a video file with MLT's command line player:

inigo video.mpg

Also, can you please post the result of the following:

ls -l /usr/lib/libmlt*

ldd /usr/lib/libmlt.so

ldd /usr/lib/libmlt++.so

The commands don't show any file (when mlt/mlt++ is uninstalled). Playing an mpg file works very well, also the output (position etc.) is correct. (when installed)

Simon

Ok, so if you MLT install is correct, remove your kdenlive build directory... then recreate it, and from it:

cmake .. -DCMAKE_INSTALL_PREFIX=/usr (or /usr/local) depending on your choice.

What does the cmake output say about MLT and MLT ++ ?

cmake says: MLT installed in /usr, libs in /usr/lib etc., MLT++ includes in /usr/include, libs in /usr/lib.

Removed build dir now. Making. … Installing  … WAAAAH! Cool! :) :) :) Hey, it works! 

(Nooooo! I wanted to do something senseful over the weekend!)

Thanks a lot to everybody for your energy to help me with the thousand errors.

Now the next step is to get it running at home too :) Peanuts, hehe.

Simon

 

Btw. Summary.

  • I guess I had kdenlive installed before from the debian-packages and then installed kdenlive & Co. from source. -> Errors
  • All packages removed (kdenlive, mlt, mlt++, ffmpeg)
  • All libraries (locate mlt) removed.
  • All svn repos updated ;)
  • ffmpeg, mlt, mlt++ built and installed, all into /usr
  • REMOVED build directory for kdenlive
  • Created it again and built it there. I had to comment the line with the thumbnailer in CMakeList.txt.
  • installed kdenlive, run it, worked. Great. :)