Saturday, February 28, 2015

digiKam issue (solved)

First of all, i'm the maintainer of digiKam in SlackBuilds Project and i want to share some issue about digiKam and how to solve it.

Since few releases ago, i could never make digiKam running on my -current computer (it worked fine in -Stable Slackware releases). It always segfault when i tried to run it even though it didn't complained during build process. I discussed with the maintainer of digiKam, but we couldn't get the real answer, so i just removed digiKam in my computer.

Few days ago, i wanted to try again with the latest digiKam 4.8.0 that has just been released, but apparently it wasn't fixed as well. I tried to debug it more thorough using gdb and then i saw some portions of the results that it linked to Qt5. I remember that the maintainer of digiKam once said to me that digiKam still use Qt4 and not yet Qt5 (the work of porting to Qt5 is an on-going process though).

I do installed Qt5 since i installed KDE 5 from Eric Hameleers as well in my desktop for testing purposes, so i thought this could be the reason why there's Qt5 code in the dump results. It turns out that opencv is picking up Qt5 since there's a condition check on opencv's CMakeLists.txt

cat modules/highgui/CMakeLists.txt | grep -i qt5 
if(HAVE_QT5) QT5_ADD_RESOURCES(_RCC_OUTFILES src/window_QT.qrc) add_definitions(${Qt5${dt5_dep}_DEFINITIONS}) include_directories(${Qt5${dt5_dep}_INCLUDE_DIRS}) list(APPEND HIGHGUI_LIBRARIES ${Qt5${dt5_dep}_LIBRARIES}) add_definitions(${Qt5OpenGL_DEFINITIONS}) include_directories(${Qt5OpenGL_INCLUDE_DIRS}) list(APPEND HIGHGUI_LIBRARIES ${Qt5OpenGL_LIBRARIES})

Based on this results, i tried to remove Qt5, rebuild opencv and then followed by rebuilding digiKam and now it works again. I have added a note in digiKam's README as well just to warn other users.