Registered Member
|
Edit : for working Kdenlive and MLT packages, scroll down to http://www.kdenlive.org/forum/kdenlive-macosx-available-testing#comment-3588
************************************************** I compiled kdenlive on Mac OSX 10.5.6 (ppc)
The compilation of the dependencies worked except for dvgrab (which is linux only because of its libraw1394 dependency?) and frei0r effects.
I used qt4.4.3 (Mac version: no X11) + kde base libraries 4.1.85 (from macports) + the svn versions of ffmpeg (rev 16400) , mlt (rev 1301) and mlt++ (rev 1302). the kdenlive version is from the KDE4 branch rev 2865. the compilation worked, but when I start kdenlive it crashes after the initial window where i can set the video resolution and some other presets. The output I get is the following: $ /opt/local/bin/kdenlive.app/Contents/MacOS/kdenlive QPainter::begin: Cannot paint on a null pixmap
I don't think that the missing Icon theme error is causing the crash. Any ideas what the reason could be?
|
Registered Member
|
Does MLT work correctly? Can you play something through inigo (MLT's command line player) ?
To test inigo: inigo colour:red Should start a red video, you can also try playing a video: inigo myvideo.mpg |
Registered Member
|
Sorry I did not try that before. inigo with the red screen works but playing a movie exits with an segmentation fault/bad memory access: (output of inigo running in gdb):
+-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---------------------------------------------------------------------+ | H = back 1 minute, L = forward 1 minute | | h = previous frame, l = next frame | | g = start of clip, j = next clip, k = previous clip | | 0 = restart, q = quit, space = play | +---------------------------------------------------------------------+
Reason: KERN_INVALID_ADDRESS at address: 0xea80ea80 [Switching to process 261 thread 0x4503] 0x937541b4 in pthread_mutex_lock ()
I compiled mlt with: export CFLAGS='-I/opt/local/include/ -I/opt/local/Trolltech/Qt4.4.3/include ' export LDFLAGS='-L/opt/local/lib -L/opt/local/Trolltech/Qt4.4.3/lib ' ./configure --prefix=/opt/local --enable-gpl --qimage-libdir=/opt/local/Trolltech/Qt4.4.3/lib --qimage-includedir=/opt/local/Trolltech/Qt4.4.3/include/Qt --avformat-swscale make At some point the make process finished with an error. -lQtCore was missing to get QMutex library functions. This problem was only at one file (I can't remember the file at which the error occured). I linked this one manually and then repeated make. Maybe this one is the reason for the segmentation fault? make install
|
Registered Member
|
After some days and nights of trying without progress I thought i publish what I did. Maybe someone can use the information for his try to get kdenlive to mac. Or tell me where I made mistakes.
My try to install Kdenlive on MacOSX
Most of the dependencies are available from Macports (www.macports.org) . I will list the Macports port names for the available packages:
qt4-mac kdelibs4-devel libsdl libsdl_image libxml2 libdv libdv x264 libtheora XviD libogg libvorbis lame libquicktime faac faad2 libsamplerate jack sox libmad libmad gdk-pixbuf pango
Note: alltough the qt4-mac package exists I compiled qt4 manually because somehow I did not find the header files (which are under /opt/local/libexec/qt4-mac/include/. I just did not find them! In the following it should therefore be possible to use /opt/local/libexec/qt4-mac/include and /opt/local/libexec/qt4-mac/lib in the CFLAGS and LDFLAGS environment variable) (use Apples gcc-4.0) ./configure -prefix /opt/local/Trolltech/Qt4.4.3 -no-framework && gmake && sudo make install Note: gcc42 is needed for kde4 but is not included as dependency. It has to be installed manually. Note: x264 is slightly outdated. For compilation of ffmpeg's svn version a recent version is needed. Adopt the version/checksum in the port file and install the new version. Note: to get kde icons and avoid errors while starting kde4 programms one should also install kdebase4-runtime from macports.
not available trough Macports: dvgrab libschroedinger libgsm ladspa "speech codecs" frei0r
dvgrab Dvgrab depends on libraw1394 which only available on linux platforms, so I think it will not be available for other unix platforms.
Dirac lossless codecs get schroedinger-1.0.5.tar.gz from http://diracvideo.org/download/schroedinger/ and use configure/make/make install get dirac-1.0.0.tar.gz from http://sourceforge.net/projects/dirac and use configure/make/make install
GSM codecs get gsm-1.0.12.tar.gz from http://kbs.cs.tu-berlin.de/~jutta/toast.html and change the directories in the Makefile to fit your needs. Then run make/make install
Ladspa I got the ladspa header file from ladspa.org and copied it to my include directory. The plugins are available from plugin.org.uk as dmg for Macs. To get the binaries listplugin,applyplugin and analyseplugin one has to download ladspa_sdk and do configure/make/make install
Speech codecs for speech codecs look at http://www.penguin.cz/~utx/amr:
extract with tar -xjvf amrnb-7.0.0.2.tar.bz2 and use standard configure/make/make install procedure
frei0r video effect library some of the frei0r effects depend on the gmerlin library (gmerlin.sf.net) so one should install them? the procedure is configure/make/make install another optional dependency is Intel's opencv which is available through Macports
for frei0r look http://www.piksel.org/frei0r / http://propirate.net/frei0r/latest.tar.gz do configure/make/make install DOES NOT WORK FOR ME BECAUSE OF LINKER PROBLEM/ only with shared libraries disabled (./configure --enable-shared=false) a build is possible. I think some changes in the Makefile would solve the problems.
ffmpeg
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg export CFLAGS='-I/opt/local/include/ ' export LDFLAGS='-L/opt/local/lib/ ' ./configure --prefix=/opt/local --enable-shared --enable-libmp3lame --enable-gpl --enable-libfaad --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libx264 --enable-libtheora --enable-swscale --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-avfilter-lavf --enable-libamr-nb --enable-libamr-wb make make install
MLT/MLT++ (use Apples gcc-4.0, gcc-4.2 and gcc-4.3 do not work) svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt mlt
export CFLAGS='-I/opt/local/include/ -I/opt/local/Trolltech/Qt4.4.3/include ' export LDFLAGS='-L/opt/local/lib -L/opt/local/Trolltech/Qt4.4.3/lib ' ./configure --prefix=/opt/local --enable-gpl --qimage-libdir=/opt/local/Trolltech/Qt4.4.3/lib --qimage-includedir=/opt/local/Trolltech/Qt4.4.3/include/Qt --kde-libdir=/opt/local/lib/kde4 --kde-includedir=/opt/local/include --avformat-swscale --avformat-ldextra="-lmp3lame -lfaad -lfaac -lxvidcore -lx264 -lvorbis -ltheora -lvorbisenc -logg -lbz2" make Note: frei0r effects and kino module are disabled automatically. At some point the make process finished with an error. -lQtCore was missing to get QMutex library functions. This problem was only at one file(cd src/modules/qimage && cc -dynamiclib -o ../libmltqimage.dylib factory.o producer_qimage.o qimage_wrapper.o -L../../framework -L/opt/local/Trolltech/Qt4.4.3/lib -lQtGui -lQtCore -lmlt -lstdc++ ). I linked this one manually and then repeated make. I also had to trick a bit to get Qt4 found in the configure process. I changed line 73 from: if test -f $qimage_libdir/libQtCore.so && [ "$force_qt3" = "" ] to: if test -f $qimage_libdir/libQtCore.la && [ "$force_qt3" = "" ]
make install
svn co https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt++ mlt++ ./configure --prefix=/opt/local && make make install
kdenlive svn co https://kdenlive.svn.sourceforge.net/svnroot/kdenlive/branches/KDE4 kdenlive cd kdenlive && mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/opt/local -DNO_JOGSHUTTLE:BOOL=TRUE -DCMAKE_BUILD_TYPE=debug make && sudo make install
The whole build progress worked fine, but now the real problems start:
running inigio (mlts stand-alone player) inigo correctly shows text file, flash movies and some other movies. At some files it only plays the sound correctly and at others it fails completely what also works is : $ inigo colour:red When inigo fails to play the output (in gdb) is: 2009-01-04 11:07:47.872 inigo[261:813] Warning once: This application, or a library it uses, is using NSQuickDrawView, which has been deprecated. Apps should cease use of QuickDraw and move to Quartz. +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ |1=-10| |2= -5| |3= -2| |4= -1| |5= 0| |6= 1| |7= 2| |8= 5| |9= 10| +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---------------------------------------------------------------------+ | H = back 1 minute, L = forward 1 minute | | h = previous frame, l = next frame | | g = start of clip, j = next clip, k = previous clip | | 0 = restart, q = quit, space = play | +---------------------------------------------------------------------+ Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0xea80ea80 [Switching to process 261 thread 0x4503] 0x937541b4 in pthread_mutex_lock ()
The warning is because SDL which is used by inigo uses some deprecated interface to Mac OsX graphics. Thats a known problem at the SDL project. Note: the video files for which inigo exits with this segmentation fault are played correctly with ffplay.
starting kdenlive to start kdenlive one has to start dbus and set the corresponding environment variables. This is done by: $eval `dbus-launch --auto-syntax` Note: the no_x11 variant of dbus should be installed to avoid a X11 server startup at each kde programm start. then start /opt/local/bin/kdenlive.app/Contents/MacOS/kdenlive in a terminal to see the log output and hope that all works fine. I get the following error: $/opt/local/bin/kdenlive.app/Contents/MacOS/kdenlive kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/drkonqi" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle(): returning "/opt/local/lib/kde4/libexec/drkonqi.app/Contents/MacOS/drkonqi" kdenlive(3232) MainWindow::parseProfiles: RESULTINGÂ MLT PATH: "/opt/local/share/mlt/profiles/" kdenlive(3232) initEffects::parseEffectFiles: // INIT EFFECT SEARCH kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/ffmpeg" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/ffmpeg" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/ffplay" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/ffplay" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/sbin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/recordmydesktop" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/sbin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/inigo" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/inigo" , false ) called kdenlive(3232)/kdecore (KSycoca) KSycocaPrivate::openDatabase: Trying to open ksycoca from "/Users/dk/Library/Preferences/KDE/cache-powerbook.local/ksycoca4" kdenlive(3232) Wizard::installExtraMimes: EXTS: ("*.mpe", "*.mpeg", "*.mod", "*.vob", "*.mpg", "*.mp2", "*.ts", "*.mts", "*.m2t") kdenlive(3232) Wizard::installExtraMimes: INSTALLING NEW MIME TO: "/Users/dk/.local/share/mime/packages/video-mpeg.xml" kdenlive(3232) Wizard::installExtraMimes: EXTS: ("*.dv") kdenlive(3232) Wizard::installExtraMimes: INSTALLING NEW MIME TO: "/Users/dk/.local/share/mime/packages/video-dv.xml" kdenlive(3232) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_50i kdenlive(3232) Monitor::Monitor: /////// BUILDING MONITOR, ID: 176819376 kdenlive(3232) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_50i kdenlive(3232) Monitor::Monitor: /////// BUILDING MONITOR, ID: 176788976 kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/lib/kde4/libexec/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/opt/local/Trolltech/Qt4.4.3/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/sbin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/sbin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/local/bin/dvgrab" , false ) called kdenlive(3232)/kdecore (kdelibs) getBundle: getBundle( "/usr/X11/bin/dvgrab" , false ) called kdenlive(3232) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID: 176898944 QStatusBar::insertPermanentWidget: Index out of range (5), appending widget QStatusBar::insertPermanentWidget: Index out of range (7), appending widget kdenlive(3232): Shortcut for KAction "monitor_play_zone" "Play Zone" set with QShortcut::setShortcut()! See KAction documentation. kdenlive(3232): Shortcut for KAction "monitor_loop_zone" "Loop Zone" set with QShortcut::setShortcut()! See KAction documentation. kdenlive(3232) KdenliveDoc::setProfilePath: KDEnnlive document, init timecode from path: "dv_pal" , 25 kdenlive(3232) KdenliveDoc::KdenliveDoc: KDEnnlive document, init timecode: 25 kdenlive(3232) Render::setSceneList: // NEW SCENE LIST DURATION SET TO: 0 2009-01-06 13:47:18.289 kdenlive[3232:10b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error (1002) creating CGSWindow' 2009-01-06 13:47:18.294 kdenlive[3232:10b] Stack: ( 2445684160, 2477638892, 2445683920, 2445683976, 2497987016, 2497982456, 2497133592, 2497131336, 2497130244, 36147820, 36139336, 36103208, 157414356, 157408956, 2993108, 251512, 252920, 380672, 98040, 117804, 60924, 40052 )
Maybe someone else can use this information if one tries to bring kdenlive to mac.
|
Registered Member
|
This seems very interesting. Sorry, cannot help you. Dave runs MacOsX, he might help you. Otherwize, do you have GDB installed on your Mac? Can you run Kdenlive in debug mode? |
Registered Member
|
Could you open a bug on Kdenlive bug tracker. This is the insurance that it will get fixed. |
Registered Member
|
Yes I have gdb installed. I will file a bug, but I will have to recompile some things to get debug information so I will need some time. Is there anyone which successfully runs kdenlive on MacOsX ? |
Registered Member
|
Not to my knowledge, but we are extremely interested in the MacOsX platform. We would love to see kdenlive and MLT on MacPorts. Maybe you could start submitting MLT to MacPorts. Please fill a bug with or without dgb trace and it will get resolved. Kind regards, Jean-Michel |
Registered Member
|
i'd also these startup problems. after some reading i found, that SDL is not correct initialized. this hack here allows first to start kdenlive, but with the sdl window in full size extra window.
sdl version is 1.2.13 and ist installed from macports.
i hope this helps first for those, who get the crash direct after starting.
Index: src/main.cpp |
Registered Member
|
What happens next? Does Kdenlive work under MacOsX. |
Registered Member
|
yes, if the sdl window is in the monitor instead of an extra window, is look first to work (10.5.6/intel). puting clips in and add filters/transitions works. if we get the window in the monitor on mac os, i could test some more. one thing i found: the kdenlive setting menu ist not available (maby i forgot some search path for the xml/rc files?)
here a better patch for this, so if anyone can test this patch, i'll commit Index: src/main.cpp |
Registered Member
|
I can confirm that this patch resolves a core issue of SDL apps on OS X. I have suggested this elsewhere and you can see this technique used in MLT apps like inigo.
|
Registered Member
|
nice, so i'll commit this patch later, since it allows to start kdenlive on mac first. i saw you used this SDL_main thing in mlt too. but for me the SDL windows (while playing video) is not resizable. so we need to find out how to embed the SDL window (like SDL_WINDOWID under linux) and make it full working under OSX .
|
Registered Member
|
On my PowerPC mac kdenlive still crashes on startup, altough the SDL patch allows to see a window after the initial wizard window.
I think the crash is related to the same thing as the crash of inigo i posted earlier.
inigo crashes with signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0xea80ea80 [Switching to process 23999 thread 0x4503] 0x937541b4 in pthread_mutex_lock () kdenlive crashes with the same signal: Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xe9ece9e9
[Switching to process 24012 thread 0x431b]
0x937541b4 in pthread_mutex_lock ()
|
Registered Member
|
which version of SDL you have ? (i had same problems with SDL 1.3) |
Registered users: Bing [Bot], Google [Bot], lockheed, Sogou [Bot]