This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Compiling error: undefined reference to `ThumbCreator::~ThumbCreator()'

Tags: None
(comma "," separated)
Granjow
Moderator
Posts
247
Karma
0

Hi everyone,


I don't manage to compile kdenlive from source anymore. FFmpeg, MLT and MLT++ all installed correctly afaik, no dependency problems anymore.


[ 85%] Building CXX object src/cmake_bindir/CMakeFiles/kdenlive.dir/mainwindowadaptor.o Linking CXX executable kdenlive [ 85%] Built target kdenlive Generating renderjob.moc [ 86%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/kdenlive_render_automoc.o [ 86%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/kdenlive_render.o [ 87%] Building CXX object renderer/cmake_bindir/CMakeFiles/kdenlive_render.dir/renderjob.o Linking CXX executable kdenlive_render [ 87%] Built target kdenlive_render Generating westleypreview.moc [ 88%] Building CXX object thumbnailer/cmake_bindir/CMakeFiles/westleypreview.dir/westleypreview_automoc.o [ 88%] Building CXX object thumbnailer/cmake_bindir/CMakeFiles/westleypreview.dir/westleypreview.o Linking CXX shared module ../../lib/westleypreview.so CMakeFiles/westleypreview.dir/westleypreview.o: In function `WestleyPreview': /data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:59: undefined reference to `ThumbCreator::~ThumbCreator()' /data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:59: undefined reference to `ThumbCreator::~ThumbCreator()' CMakeFiles/westleypreview.dir/westleypreview.o: In function `~WestleyPreview': /data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:65: undefined reference to `ThumbCreator::~ThumbCreator()' /data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:65: undefined reference to `ThumbCreator::~ThumbCreator()' /data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:65: undefined reference to `ThumbCreator::~ThumbCreator()' CMakeFiles/westleypreview.dir/westleypreview.o:/data/cworkspace/kdenlive-kde4/thumbnailer/westleypreview.cpp:65: more undefined references to `ThumbCreator::~ThumbCreator()' follow CMakeFiles/westleypreview.dir/westleypreview.o:(.data.rel.ro._ZTI14WestleyPreview[typeinfo for WestleyPreview]+0x18): undefined reference to `typeinfo for ThumbCreator' collect2: ld returned 1 exit status make[2]: *** [lib/westleypreview.so] Fehler 1 make[1]: *** [thumbnailer/cmake_bindir/CMakeFiles/westleypreview.dir/all] Fehler 2 make: *** [all] Fehler 2


Any ideas?


Thanks,


Simon

jmpoure_drupal
Registered Member
Posts
735
Karma
0

I could not compile Kdenlive svn 2928 and posted on the mailing list. Wait for a fix ...

slavko321
Registered Member
Posts
6
Karma
0
Hello,

i have kde4 on gentoo and first had 4.1 which worked ok for 0.7, then i upgraded to kde4.2 and got this error compiling 0.7.1. Now i cant even compile 0.7. The problems started when i removed kde4.1 kdelibs (where ThumbCreator resides i belive). So it might be kde related, maybe they moved this funcionality elsewhere.

Which kde version do you use?

Best regards,
Slavko

Granjow
Moderator
Posts
247
Karma
0

@jmpoure Yes, I saw that; but your error occurs later and not in ~ThumbCreator(). I've got more things that are wrong  … :S


@slavko Yeh, it is about the same way here. I have also upgraded to 4.2 (RC), but I'm not quite sure whether that caused the problem, I only know that also kdenlive from the repository didn't start anymore after the upgrade.


I've searched for ThumbCreator with apt-file ThumbCreator which then showed me that the file is in kdelibs5-dev. Perhaps that is the reason? This library has been upgraded recently from kdelibs4-dev.


Simon

slavko321
Registered Member
Posts
6
Karma
0
Im pretty sure its a kde4.2 kdelibs (or as you define it, kdelibs5-dev) problem. Before i had both 4.1 and 4.2 installed and kdenlive worked (which doesnt seem right but it worked:).

Gentoo has a hard dependency on kde4.1 set, so i guess kdenlive wants kde4.1?

jmpoure if you can point me in the right direction for this i would like to check it out, im a programmer.

Thanks!
Slavko
j-b-m
Registered Member
Posts
804
Karma
1
The compile error with dvdwizard has been fixed.

I cannot reproduce the problem with westleypreview, and think it might be an issue with your installed Kdelibs...

The westleypreview is not really part of Kdenlive, it is a small KDE plugin that creates previews of your MLT / Kdenlive project files so that you can see a thumbnail when browsing through your folders with dolphin or konqueror...

As a workaround if you need to build Kdenlive, you can simply disable the build of this westleypreview module. To to this, edit the CMakeLists.txt file in the base directory and comment the following line (around line 28) :

add_subdirectory(thumbnailer thumbnailer/cmake_bindir)

(add a # before the line).

This will disable building of this module.
Granjow
Moderator
Posts
247
Karma
0

Okay, it clearly wasn't kdelibs5-dev. kdelibs4-dev seems quite outdated and I couldn't even cmake the project.


Compiling indeed worked after compiling it out. But hell, I still cannot run kdenlive.


$ gdb ./kdenlive

GNU gdb 6.8-debian                                                                  

Copyright (C) 2008 Free Software Foundation, Inc.                                   

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>       

This is free software: you are free to change and redistribute it.                  

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"          

and "show warranty" for details.                                                    

This GDB was configured as "i486-linux-gnu"...                                      

(gdb) run                                                                           

Starting program: /data/cworkspace/kdenlive-kde4/build/src/cmake_bindir/kdenlive    

[Thread debugging using libthread_db enabled]                                       

[New Thread 0xb5f886c0 (LWP 8978)]                                                  

kdenlive(8978) MainWindow::parseProfiles: RESULTINGÂ MLT PATH:  "/usr/share/mlt/profiles/"

mlt_repository.c, mlt_repository_init: failed to dlopen /usr/local/lib/mlt/libmltavformat.so

QFSFileEngine::open: No file name specified

QFSFileEngine::open: No file name specified

kdenlive(8978) initEffects::parseEffectFiles: //  INIT EFFECT SEARCH

kdenlive(8978) Render::Render: //////////  USINGÂ PROFILE:  hdv_1080_50i

kdenlive(8978) Monitor::Monitor: /////// BUILDING MONITOR, ID:  62914837

kdenlive(8978) Render::Render: //////////  USINGÂ PROFILE:  hdv_1080_50i

kdenlive(8978) Monitor::Monitor: /////// BUILDING MONITOR, ID:  62914937

kdenlive(8978) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID:  62914982

QStatusBar::insertPermanentWidget: Index out of range (5), appending widget

QStatusBar::insertPermanentWidget: Index out of range (7), appending widget

kdenlive(8978)/kdeui (kdelibs): No such XML file "kdenliveui.rc"

kdenlive(8978): Shortcut for KAction  "monitor_play_zone" "Play Zone" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(8978): Shortcut for KAction  "monitor_loop_zone" "Loop Zone" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(8978) MainWindow::loadPlugins: // PARSING FIOLER:  "/usr/lib/kde4/"



Program received signal SIGSEGV, Segmentation fault.

[Switching to Thread 0xb5f886c0 (LWP 8978)]

0xb6ef3277 in QMenu::menuAction () from /usr/lib/libQtGui.so.4

(gdb) thread apply all bt



Thread 1 (Thread 0xb5f886c0 (LWP 8978)):

#0  0xb6ef3277 in QMenu::menuAction () from /usr/lib/libQtGui.so.4

#1  0x080dc810 in Monitor::setupMenu (this=0x88cd9c0, goMenu=0x0, playZone=0x8c308e0, loopZone=0x8c308f8, markerMenu=0x0) at /data/cworkspace/kdenlive-kde4/src/monitor.cpp:150

#2  0x080bd64b in MainWindow (this=0x86f7d70, MltPath=@0xbfdc29ec, Url=@0xbfdc29cc, parent=0x0) at /data/cworkspace/kdenlive-kde4/src/mainwindow.cpp:234

#3  0x080a5a62 in main (argc=1, argv=0xbfdc2b34) at /data/cworkspace/kdenlive-kde4/src/main.cpp:71


:(


Simon

slavko321
Registered Member
Posts
6
Karma
0
This is surely related to my problem, this happened when i compiled from svn (i excluded the thumbnailer):
$ ./kdenlive
kdenlive(16696) MainWindow::parseProfiles: RESULTINGÂ MLT PATH: "/usr/share/mlt/profiles/"
QFSFileEngine::open: No file name specified
QFSFileEngine::open: No file name specified
kdenlive(16696) initEffects::parseEffectFiles: // INIT EFFECT SEARCH
kdenlive(16696) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_25p
kdenlive(16696) Monitor::Monitor: /////// BUILDING MONITOR, ID: 50331905
kdenlive(16696) Render::Render: ////////// USINGÂ PROFILE: hdv_1080_25p
kdenlive(16696) Monitor::Monitor: /////// BUILDING MONITOR, ID: 50332002
kdenlive(16696) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID: 50332040
QStatusBar::insertPermanentWidget: Index out of range (5), appending widget
QStatusBar::insertPermanentWidget: Index out of range (7), appending widget
kdenlive(16696)/kdeui (kdelibs): No such XML file "kdenliveui.rc"
kdenlive(16696): Shortcut for KAction "monitor_play_zone" "Play Zone" set with QShortcut::setShortcut()! See KAction documentation.
kdenlive(16696): Shortcut for KAction "monitor_loop_zone" "Loop Zone" set with QShortcut::setShortcut()! See KAction documentation.
kdenlive(16696) MainWindow::loadPlugins: // PARSING FIOLER: "/usr/kde/live/lib64/kde4/"
KCrash: Application 'kdenlive' crashing...
sock_file=/home/slavko/.kdelive/socket-mediaquad/kdeinit4__0
Granjow
Moderator
Posts
247
Karma
0

Yeh, looks similar here (I'm not sure whether I've got the 64bit-lib too, as I'm using 32bit) when I start it directly without gdb. Glad not to be the only one … Is it difficult to find out the problem? 


Simon

j-b-m
Registered Member
Posts
804
Karma
1
Just to be clear, you have 2 options if you want to compile kdenlive:


1) Use the Builer Wizard
The builder compiles FFmpeg, MLT and Kdenlive and installs them in a local folder (usually $HOME/kdenlive). Then you can start kdenlive using the script: $HOME/kdenlive/bin/kdenlive_start

2) You compile by yourself and have to install in the same place as your KDE install (usually /usr ), see instructions on [1]. Then you start kdenlive using the installed version (/usr/bin/kdenlive)


From the log I saw in the previous posts, it seems like you didn't install kdenlive!


[1]
http://kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-kdenlive
Granjow
Moderator
Posts
247
Karma
0

Just to make sure whether I've understood it the right way, jb: I have to do a make install before trying to start kdenlive? I cannot just compile it and run it from the build/src/cmake_bindir (or similar) directory?


If so … I'd have no more free time over the weekend ;)


Simon

j-b-m
Registered Member
Posts
804
Karma
1
Yes, that was my point. You NEED to install before running Kdenlive.

regards
Granjow
Moderator
Posts
247
Karma
0

Indeed. I've got … damn. Another error message now.


$ kdenlive                                                                      

kdenlive(3753) MainWindow::parseProfiles: RESULTING MLT PATH:  "/usr/share/mlt/profiles/"

mlt_repository.c, mlt_repository_init: failed to dlopen /usr/local/lib/mlt/libmltavformat.so

kdenlive(3753) initEffects::parseEffectFiles: //  INIT EFFECT SEARCH

kdenlive(3753) Render::Render: //////////  USING PROFILE:  hdv_1080_50i

kdenlive(3753) Monitor::Monitor: /////// BUILDING MONITOR, ID:  60817688

kdenlive(3753) Render::Render: //////////  USING PROFILE:  hdv_1080_50i

kdenlive(3753) Monitor::Monitor: /////// BUILDING MONITOR, ID:  60817788

kdenlive(3753) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID:  60817833

QStatusBar::insertPermanentWidget: Index out of range (5), appending widget

QStatusBar::insertPermanentWidget: Index out of range (7), appending widget

kdenlive(3753): Shortcut for KAction  "monitor_play_zone" "Bereich abspielen" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(3753): Shortcut for KAction  "monitor_loop_zone" "Bereich wiederholen (Schleife)" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(3753) MainWindow::loadPlugins: // PARSING FIOLER:  "/usr/lib/kde4/"

kdenlive(3753) MainWindow::loadPlugins: // PARSING FIOLER:  "/usr/local/lib/kde4/"

kdenlive(3753) MainWindow::loadPlugins: // FOUND PLUGIN:  "libkdenlive_sampleplugin.so" =  "/usr/local/lib/kde4/libkdenlive_sampleplugin.so"

kdenlive(3753) MainWindow::addToMenu: // ADD to MENU ("Countdown", "Noise")

kdenlive(3753) KdenliveDoc::setProfilePath: KDEnnlive document, init timecode from path:  "hdv_1080_50i" ,   25

kdenlive(3753) KdenliveDoc::KdenliveDoc: KDEnnlive document, init timecode:  25

kdenlive(3753) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  4 , DURATION:  0

kdenlive(3753) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  3 , DURATION:  0

kdenlive(3753) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  2 , DURATION:  0

kdenlive(3753) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  1 , DURATION:  0

kdenlive(3753) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  0 , DURATION:  0

kdenlive(3753) TrackView::parseDocument: ///////////  TOTAL PROJECT DURATION:  300

kdenlive(3753) Render::setSceneList: // NEW SCENE LIST DURATION SET TO:  0

KCrash: Application 'kdenlive' crashing...

sock_file=/home/simon/.kde4/socket-sFreezer/kdeinit4__0


 


gdb shows that::


$ gdb kdenlive

GNU gdb 6.8-debian           

Copyright (C) 2008 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.          

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"  

and "show warranty" for details.                                            

This GDB was configured as "i486-linux-gnu"...                              

(gdb) run                                                                   

Starting program: /usr/local/bin/kdenlive                                   

[Thread debugging using libthread_db enabled]                               

[New Thread 0xb5ee56c0 (LWP 3807)]                                          

kdenlive(3807) MainWindow::parseProfiles: RESULTING MLT PATH:  "/usr/share/mlt/profiles/"

mlt_repository.c, mlt_repository_init: failed to dlopen /usr/local/lib/mlt/libmltavformat.so

kdenlive(3807) initEffects::parseEffectFiles: //  INIT EFFECT SEARCH                       

kdenlive(3807) Render::Render: //////////  USING PROFILE:  hdv_1080_50i                   

kdenlive(3807) Monitor::Monitor: /////// BUILDING MONITOR, ID:  60817688                   

kdenlive(3807) Render::Render: //////////  USING PROFILE:  hdv_1080_50i                   

kdenlive(3807) Monitor::Monitor: /////// BUILDING MONITOR, ID:  60817788                   

kdenlive(3807) RecMonitor::RecMonitor: /////// BUILDING MONITOR, ID:  60817833             

QStatusBar::insertPermanentWidget: Index out of range (5), appending widget                

QStatusBar::insertPermanentWidget: Index out of range (7), appending widget                

kdenlive(3807): Shortcut for KAction  "monitor_play_zone" "Bereich abspielen" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(3807): Shortcut for KAction  "monitor_loop_zone" "Bereich wiederholen (Schleife)" set with QShortcut::setShortcut()! See KAction documentation.

kdenlive(3807) MainWindow::loadPlugins: // PARSING FIOLER:  "/usr/lib/kde4/"                                                                            

kdenlive(3807) MainWindow::loadPlugins: // PARSING FIOLER:  "/usr/local/lib/kde4/"                                                                      

kdenlive(3807) MainWindow::loadPlugins: // FOUND PLUGIN:  "libkdenlive_sampleplugin.so" =  "/usr/local/lib/kde4/libkdenlive_sampleplugin.so"            

kdenlive(3807) MainWindow::addToMenu: // ADD to MENU ("Countdown", "Noise")                                                                             

kdenlive(3807) KdenliveDoc::setProfilePath: KDEnnlive document, init timecode from path:  "hdv_1080_50i" ,   25                                         

kdenlive(3807) KdenliveDoc::KdenliveDoc: KDEnnlive document, init timecode:  25                                                                         

kdenlive(3807) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  4 , DURATION:  0                                                         

kdenlive(3807) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  3 , DURATION:  0                                                         

kdenlive(3807) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  2 , DURATION:  0                                                         

kdenlive(3807) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  1 , DURATION:  0                                                         

kdenlive(3807) TrackView::slotAddProjectTrack: *************  ADD DOC TRACK  0 , DURATION:  0                                                         

kdenlive(3807) TrackView::parseDocument: ///////////  TOTAL PROJECT DURATION:  300                                                                      

kdenlive(3807) Render::setSceneList: // NEW SCENE LIST DURATION SET TO:  0



Program received signal SIGSEGV, Segmentation fault.

[Switching to Thread 0xb5ee56c0 (LWP 3807)]

mlt_properties_fetch (this=0x0, name=0xb3ec4c00 "forced") at mlt_properties.c:346

346             property_list *list = this->local;

Current language:  auto; currently c

(gdb) thread apply all bt



Thread 1 (Thread 0xb5ee56c0 (LWP 3807)):

#0  mlt_properties_fetch (this=0x0, name=0xb3ec4c00 "forced") at mlt_properties.c:346

#1  0xb7ff186f in mlt_properties_set_int (this=0x0, name=0xb3ec4c00 "forced", value=3) at mlt_properties.c:736

#2  0xb3ec3d1c in consumer_start (parent=0x9775870) at consumer_sdl_still.c:159

#3  0xb7ffa7d4 in mlt_consumer_start (this=0x9775870) at mlt_consumer.c:340

#4  0xb3ec2008 in consumer_start (parent=0x96dee40) at consumer_sdl_preview.c:208

#5  0xb7ffa7d4 in mlt_consumer_start (this=0x96dee40) at mlt_consumer.c:340

#6  0xb7fce960 in Mlt::Consumer::start () from /usr/local/lib/libmlt++.so.1

#7  0x080e412c in Render::connectPlaylist (this=0x96c6d98) at /data/cworkspace/kdenlive-kde4/src/renderer.cpp:924

#8  0x0810219c in Render::setSceneList (this=0x96c6d98, playlist=

      {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 16060}, alloc = 0, size = 0, data = 0x83674ba, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 111}, alloc = 0, size = 0, data = 0xb747416e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0xbf81d068, static codecForCStrings = 0x0}, position=0) at /data/cworkspace/kdenlive-kde4/src/renderer.cpp:834

#9  0x08115f05 in KdenliveDoc::setSceneList (this=0x9aa00a8) at /data/cworkspace/kdenlive-kde4/src/kdenlivedoc.cpp:204

#10 0x0813c1b5 in TrackView (this=0x9ab0790, doc=0x9aa00a8, parent=0x94aec68) at /data/cworkspace/kdenlive-kde4/src/trackview.cpp:81

#11 0x080bc10f in MainWindow::newFile (this=0x94aec68, showProjectSettings=false) at /data/cworkspace/kdenlive-kde4/src/mainwindow.cpp:1096

#12 0x080bf932 in MainWindow (this=0x94aec68, MltPath=@0xbf81d4bc, Url=@0xbf81d49c, parent=0x0) at /data/cworkspace/kdenlive-kde4/src/mainwindow.cpp:366

#13 0x080a5a62 in main (argc=1, argv=0xbf81d604) at /data/cworkspace/kdenlive-kde4/src/main.cpp:71


 


Simon

j-b-m
Registered Member
Posts
804
Karma
1
kdenlive(3807) MainWindow::parseProfiles: RESULTINGÂ MLT PATH: "/usr/share/mlt/profiles/"
mlt_repository.c, mlt_repository_init: failed to dlopen /usr/local/lib/mlt/libmltavformat.so


Looks like you have several versions of MLT installed: one in /usr and one in /usr/local
Those 2 install are conflicting. You need to remove one of them.

To remove your MLT install in /usr, remove the following:

/usr/share/mlt
/usr/lib/libmlt*
/usr/lib/mlt
/usr/include/mlt
/usr/bin/inigo


Also, make sure that you don't also have 2 installs of MLT++...
slavko321
Registered Member
Posts
6
Karma
0
Great! that fixed it for me.

Can i just install over the old version after recompilation? make uninstall works correctly?

Thank you!

0.7.1 freakin rocks!!:)



Bookmarks



Who is online

Registered users: bancha, Bing [Bot], daret, Evergrowing, Google [Bot], lockheed, sandyvee, Sogou [Bot]