Bug 303427 - failed build against libgphoto2-2.5.0 [patch]
Summary: failed build against libgphoto2-2.5.0 [patch]
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Import-Gphoto2 (show other bugs)
Version: 2.7.0
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-12 18:15 UTC by nucleo
Modified: 2017-08-15 21:58 UTC (History)
9 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.9.0
Sentry Crash Report:


Attachments
0001-support-both-libgphoto2-2.5.0-and-2.4.0.patch (4.67 KB, patch)
2012-07-24 15:20 UTC, Marcus Meissner
Details
updated and tested libgphoto 2.5/2.4 patch (9.34 KB, patch)
2012-08-15 09:42 UTC, Marcus Meissner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nucleo 2012-07-12 18:15:06 UTC
cd /builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu/extra/libkface/test && /usr/bin/c++   -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=21 -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DKDE_DEFAULT_DEBUG_AREA=51005 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables  -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -O2 -DNDEBUG -DQT_NO_DEBUG -I/builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu/extra/libkface/test -I/builddir/build/BUILD/digikam-2.7.0/extra/libkface/test -I/builddir/build/BUILD/digikam-2.7.0/extra/libkface -I/builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu/extra/libkface -I/builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu/extra/libkface/libface -I/builddir/build/BUILD/digikam-2.7.0/extra/libkface/test/../libkface -I/builddir/build/BUILD/digikam-2.7.0/extra/libkface/test/.. -I/usr/include/kde4 -I/usr/include/kde4/KDE -I/usr/include/KDE -I/usr/include/phonon -I/usr/include/QtXmlPatterns -I/usr/include/QtXml -I/usr/include/QtWebKit -I/usr/include/QtUiTools -I/usr/include/QtTest -I/usr/include/QtSvg -I/usr/include/QtSql -I/usr/include/QtScriptTools -I/usr/include/QtScript -I/usr/include/QtOpenGL -I/usr/include/QtNetwork -I/usr/include/QtMultimedia -I/usr/include/QtHelp -I/usr/include/QtDesigner -I/usr/include/QtDeclarative -I/usr/include/QtDBus -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include/Qt -I/usr/lib/qt4/mkspecs/default -I/usr/include/opencv    -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o CMakeFiles/detect.dir/detect.cpp.o -c /builddir/build/BUILD/digikam-2.7.0/extra/libkface/test/detect.cpp
make -f extra/libkface/test/CMakeFiles/libfaceGUI.dir/build.make extra/libkface/test/CMakeFiles/libfaceGUI.dir/depend
/builddir/build/BUILD/digikam-2.7.0/core/utilities/cameragui/devices/gpcamera.cpp: In member function 'virtual bool Digikam::GPCamera::uploadItem(const QString&, const QString&, const QString&, Digikam::CamItemInfo&)':
/builddir/build/BUILD/digikam-2.7.0/core/utilities/cameragui/devices/gpcamera.cpp:1335:61: error: cannot convert 'CameraFile* {aka _CameraFile*}' to 'const char*' for argument '3' to 'int gp_camera_folder_put_file(Camera*, const char*, const char*, CameraFileType, CameraFile*, GPContext*)'
make[2]: Entering directory `/builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu'
/usr/bin/cmake -E cmake_progress_report /builddir/build/BUILD/digikam-2.7.0/i686-redhat-linux-gnu/CMakeFiles 
/builddir/build/BUILD/digikam-2.7.0/core/utilities/cameragui/devices/gpcamera.cpp: In static member function 'static void Digikam::GPCamera::getSupportedPorts(QStringList&)':
/builddir/build/BUILD/digikam-2.7.0/core/utilities/cameragui/devices/gpcamera.cpp:1654:31: error: request for member 'path' in 'info', which is of pointer type 'GPPortInfo {aka _GPPortInfo*}' (maybe you meant to use '->' ?)

See full log http://kojipkgs.fedoraproject.org//work/tasks/7155/4237155/build.log

Reproducible: Always
Comment 1 Rex Dieter 2012-07-12 18:16:47 UTC
confirmed
Comment 2 nucleo 2012-07-12 18:25:21 UTC
Note that KDE 4.8.97 used in thi build.
Comment 3 Wouter de Geus 2012-07-17 11:42:35 UTC
Just tried this on slackware64-current with KDE 4.8.4 (and libgphoto2-2.5.0) with the same result.
Since this new libgphoto2 version finally gets rid of the silly 1024 files per directory limit I'd say it's a very welcome upgrade.
Comment 4 Marcus Meissner 2012-07-24 15:20:40 UTC
Created attachment 72725 [details]
0001-support-both-libgphoto2-2.5.0-and-2.4.0.patch

please try this patch against "core" part of digikam.

it tries to handle both 2.4 and 2.5.
Comment 5 Marcus Meissner 2012-07-24 15:21:36 UTC
(untested yet... will do this in some minutes)
Comment 6 nucleo 2012-07-25 00:05:40 UTC
Patch from Comment 4 fixes build but not tested how digikam works.
http://kojipkgs.fedoraproject.org//packages/digikam/2.7.0/5.fc18/data/logs/i686/build.log
Comment 7 Marcus Meissner 2012-07-27 15:18:31 UTC
it builds, but there is some GPPortInfo lifetime handling off, i need to do some more fixes there
Comment 8 Marcus Meissner 2012-08-15 09:42:21 UTC
Created attachment 73176 [details]
updated and tested libgphoto 2.5/2.4 patch

this patch should work with both 2.4 and 2.5.
i had to rewrite findConnectedUSBCamera a bit ;)
Comment 9 Marcus Meissner 2012-08-15 12:02:50 UTC
(patch is against master ... if any other branch is required i can rebase it there too if necessary ;)
Comment 10 caulier.gilles 2012-08-15 14:48:57 UTC
Thanks Marcus.

git/master is for production. next 2.9.0 will be last stable release without any major changes. Your current patch will be applied into.

There is another 3.0.0 branch where similar patch must be applied, and where we working in-deep currently. Look here for details : 

http://community.kde.org/Digikam/GSoC2012#Repositories_Branching_and_Dates

If you can provide a patch for this branch, it will be great.

Best

Gilles Caulier
Comment 11 Marcus Meissner 2012-08-20 08:26:41 UTC
applies as-is to 3.0.0 branch, but I fail to compile the branch, error is this:

/home/marcus/projects/digikam-sc/core/digikam/utils/componentsinfo.h:81:71: error: ‘class KIPI::PluginLoader’ has no member named ‘kipiPluginsVersion’
Comment 12 Marcus Meissner 2012-08-20 08:27:43 UTC
taking that back, it needs utilities/importui/backend/gpcamera.cpp not seen ...
Comment 13 Victor Dodon 2012-08-20 08:38:22 UTC
(In reply to comment #11)
> applies as-is to 3.0.0 branch, but I fail to compile the branch, error is
> this:
> 
> /home/marcus/projects/digikam-sc/core/digikam/utils/componentsinfo.h:81:71:
> error: ‘class KIPI::PluginLoader’ has no member named ‘kipiPluginsVersion’
digiKam from development/3.0.0 branch requires libkipi 2.0.0 which you can get from development/2.0.0 branch from libkipi repo.

Victor.
Comment 14 caulier.gilles 2012-08-20 13:32:31 UTC
Islam,

I CC you about 3.0.0 branch where Marcus try to apply patch about Gphoto 2.5.0 support...

Gilles Caulier
Comment 15 Islam Wazery 2012-08-21 02:07:49 UTC
I applied it to development/3.0.0 signed with Marcus Meissner name.
Comment 16 caulier.gilles 2012-08-21 07:24:37 UTC
Git commit 1e3fe5480e5311d4d564da79c6eee7ecf7cac774 by Gilles Caulier.
Committed on 21/08/2012 at 09:23.
Pushed by cgilles into branch 'master'.

apply patch from Marcus Meissner to support libgphoto 2.5.0 API

M  +23   -11   CMakeLists.txt
M  +5    -1    NEWS
M  +3    -0    digikam/utils/config-digikam.h.cmake
M  +60   -62   utilities/cameragui/devices/gpcamera.cpp

http://commits.kde.org/digikam/1e3fe5480e5311d4d564da79c6eee7ecf7cac774
Comment 17 Marcus Meissner 2012-08-21 11:29:43 UTC
Islam ... one question, is "utiltiies/importui/backend/gpcamera.cpp" or utilities/cameragui/devices/gpcamera.cpp active? or both?

I see you merged it into importui/backend/gpcamera.cpp, which is probably the newer one?
Comment 18 caulier.gilles 2012-08-21 11:45:06 UTC
Marcus,

Islam, who work to revamp digiKam camera GUI for 3.0.0 through GoSC 2012 project, as just renamed cameragui dir to importui... gpcamera.cpp files from 2.x and 3.x are the same in fact...

Gilles Caulier