Bug 450467 - digikam git source build fails
Summary: digikam git source build fails
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Compilation (other bugs)
Version First Reported In: 8.0.0
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-17 15:32 UTC by maderios
Modified: 2022-03-09 19:09 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 8.0.0
Sentry Crash Report:


Attachments
build log (150.34 KB, text/plain)
2022-02-17 15:32 UTC, maderios
Details

Note You need to log in before you can comment on or make changes to this bug.
Description maderios 2022-02-17 15:32:53 UTC
Created attachment 146873 [details]
build log

SUMMARY
digikam git source build fails
Arch system
See build attachment
Comment 1 caulier.gilles 2022-02-17 15:48:09 UTC
Hum, it try to get qtwebkit header to show the version of this component in info dialog, but header is not found.

Did you install qtwebkit on your system ?

Gilles Caulier
Comment 2 maderios 2022-02-17 15:55:42 UTC
qt5-webkit  is installed
https://archlinux.org/packages/extra/x86_64/qt5-webkit/
Comment 3 caulier.gilles 2022-02-17 15:58:37 UTC
Did you have a header C++ file named QtWebKitWidgetsVersion somewhere on your system ?
Comment 4 maderios 2022-02-17 16:04:04 UTC
yes
/usr/include/qt/QtWebKitWidgets/QtWebKitWidgetsVersion
Comment 5 caulier.gilles 2022-02-17 16:16:46 UTC
But the rule in cmake script to include path from qtwebkit is well here.

Please restart the compile with an "export VERBOSE=1" before. The compilation trace will be very long but we will see if header path to Qtwebkit is well present.

Gilles Caulier
Comment 6 Maik Qualmann 2022-02-17 16:55:15 UTC
I see in the log that the NoWebWidget is being created. The DISABLE_QWEB option must be active. That means neither ENABLE_QWEBENGINE OR ENABLE_QWEBKIT is enabled.

Maik
Comment 7 Maik Qualmann 2022-02-17 16:59:16 UTC
The NoWebWidget was only created to test/enable a port to Qt6 in GSoC-2021. One of the web engines must be active.

Maik
Comment 8 Maik Qualmann 2022-02-17 17:59:33 UTC
Git commit aef5136a3e16e43188926754948692bcb0b59d5d by Maik Qualmann.
Committed on 17/02/2022 at 17:58.
Pushed by mqualmann into branch 'master'.

fix compile without web engine

M  +1    -1    core/libs/dialogs/libsinfodlg.cpp

https://invent.kde.org/graphics/digikam/commit/aef5136a3e16e43188926754948692bcb0b59d5d
Comment 9 maderios 2022-02-17 19:04:47 UTC
Build fails again
Here full debug log https://www.dropbox.com/s/z44urqayg1bjyks/dk-git-verbose.txt?dl=0

I modified this script  https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=digikam-git

build() {
  cmake -B build -S ${_pkgname} \
    -DBUILD_TESTING=OFF \
    -DENABLE_KFILEMETADATASUPPORT=ON \
    -DENABLE_MEDIAPLAYER=ON \
    -DENABLE_AKONADICONTACTSUPPORT=OFF \
    -DENABLE_MYSQLSUPPORT=ON \
    -DENABLE_APPSTYLES=ON \
    -DENABLE_QWEBENGINE=OFF
  cmake --build build
Comment 10 Maik Qualmann 2022-02-17 19:39:27 UTC
You must now explicitly set ENABLE_QWEBKIT = ON if you have set ENABLE_QWEBENGINE to OFF. The git/master branch is currently not suitable for production environments. Use the qt5-maintenace branch. 

use:

-DENABLE_QWEBKIT=ON

Maik
Comment 11 Maik Qualmann 2022-02-17 19:46:19 UTC
@Gilles no web browser mode needed just our student to compile it. We can remove it though, I assume you have Qt6 with QWebEngine. In principle, digiKam without a WebEngine is useless anyway. 

Maik
Comment 12 Maik Qualmann 2022-02-17 20:55:12 UTC
Git commit ef09dbdf7f2291d3880e150d378f8a097da7c102 by Maik Qualmann.
Committed on 17/02/2022 at 20:54.
Pushed by mqualmann into branch 'master'.

fix compile without web engine #2

M  +47   -8    core/libs/widgets/mainview/dxmlguiwindow.cpp
M  +5    -1    core/libs/widgets/mainview/dxmlguiwindow_p.h

https://invent.kde.org/graphics/digikam/commit/ef09dbdf7f2291d3880e150d378f8a097da7c102
Comment 13 Maik Qualmann 2022-02-17 21:53:19 UTC
Next it fails at the welcome page... But without web engine what should we display... 

Maik
Comment 14 Maik Qualmann 2022-02-17 22:15:23 UTC
Git commit ab68ea329b484ce90bbfe27103656dc2404cf180 by Maik Qualmann.
Committed on 17/02/2022 at 22:14.
Pushed by mqualmann into branch 'master'.

fix compile without web engine #3

M  +14   -7    core/app/views/stack/stackedview.cpp
M  +2    -0    core/app/views/stack/welcomepageview.h

https://invent.kde.org/graphics/digikam/commit/ab68ea329b484ce90bbfe27103656dc2404cf180
Comment 15 Maik Qualmann 2022-02-17 22:16:28 UTC
Next the Google Maps backend would be the problem...

Maik
Comment 16 Maik Qualmann 2022-02-18 07:54:08 UTC
Git commit 879b7a80be6525b77741df2f9afc9bbeee20fa9c by Maik Qualmann.
Committed on 18/02/2022 at 07:53.
Pushed by mqualmann into branch 'master'.

fix compile without web engine #4

M  +0    -3    core/app/views/stack/welcomepageview.cpp
M  +5    -0    core/utilities/geolocation/geoiface/CMakeLists.txt
M  +22   -6    core/utilities/nowebwidget/dnowebwidget.cpp

https://invent.kde.org/graphics/digikam/commit/879b7a80be6525b77741df2f9afc9bbeee20fa9c
Comment 17 maderios 2022-02-18 13:49:14 UTC
Today, it builds successfully with:
-DENABLE_QWEBENGINE=ON
Comment 18 maderios 2022-02-18 13:54:26 UTC
(In reply to Maik Qualmann from comment #10)
> You must now explicitly set ENABLE_QWEBKIT = ON if you have set
> ENABLE_QWEBENGINE to OFF. The git/master branch is currently not suitable
> for production environments. Use the qt5-maintenace branch. 
I don't know how to use qt5 branch. I built successfully git/master, it works but i didn't test all functions. 
digikam version 8.0.0-git
Libraries: 
XMP SDK: 5.6.0
Qt WebEngine version: 5.15.8
Qt: 5.15.2
LibTIFF: 4.3.0
LibRaw: 0.21.0
LibQtAV: 1.13.0
LibPNG: 1.6.37
LibPGF: 7.21.07
LibOpenCV: 4.5.5
LibLCMS: 2131
LibJPEG: 80
LibJasper: 2.0.33
LibGphoto2: 2.5.28
LibCImg: 130
LibAVUtil: 57.17.100
LibAVFormat: 59.16.100
LibAVCodec: 59.18.100
LensFun: 0.3.95-0
KF5: 5.91.0
ImageMagick codecs: 7.1.0
Exiv2: 0.27.5
ExifTool: 12.30
Eigen: 3.4.0
DNG SDK: 1.5.1
Features: 
VKontakte support: No
Rajce support: Yes
Parallelized demosaicing: Yes
Panorama support: Yes
Memory available: 5.7 GiB
Media player support: Yes
Marble support: No
LibLqr support: Yes
HTML Gallery support: Yes
HEIF encoding support: Yes
Exiv2 supports XMP metadata: Yes
Exiv2 supports Base Media: Yes
DBus support: Yes
Database internal server: No
Database backend: QMYSQL
CPU cores: 4
Calendar support: No
Baloo support: Yes
AddressBook support: No
Comment 19 caulier.gilles 2022-02-18 17:16:35 UTC
After to checkout the git/master repository, switch to the dedicated qt5 maintenance branch as explained here :

https://www.digikam.org/download/git/

Gilles Caulier
Comment 20 caulier.gilles 2022-02-18 17:32:26 UTC
Maik,

did you plan to remove qtwebkit support in qt5/qt6 development ? regarding this github entry :

https://github.com/qtwebkit/qtwebkit/issues/880

I seen some pending works from the maintainer to port qtwebkit to qt6.

So i think there is a little chance to see qtwebkit to survive to qt6 stage.

Gilles
Comment 21 Maik Qualmann 2022-02-18 17:50:15 UTC
No, we will definitely keep QWebKit. I'll finish fixing the NoWebWidget to see how digiKam is usable. However, I only see the possibility of compiling without an HTML engine as a use for test purposes - for whatever reason. I would rather remove the NoWebWidget immediately.

Maik
Comment 22 Maik Qualmann 2022-02-18 21:07:55 UTC
Git commit d6827df3af4c5f788212049da704d900217145b7 by Maik Qualmann.
Committed on 18/02/2022 at 21:06.
Pushed by mqualmann into branch 'master'.

remove no web widget mode
FIXED-IN: 8.0.0

M  +8    -20   core/CMakeLists.txt
M  +1    -1    core/app/CMakeLists.txt
M  +1    -1    core/app/DigikamCoreTarget.cmake
M  +2    -15   core/app/DigikamGuiTarget.cmake
M  +0    -6    core/app/utils/digikam_config.h.cmake.in
M  +2    -26   core/app/views/stack/stackedview.cpp
M  +2    -2    core/app/views/stack/welcomepageview.h
M  +5    -16   core/dplugins/generic/tools/htmlgallery/wizard/htmlfinalpage.cpp
M  +1    -1    core/dplugins/generic/webservices/CMakeLists.txt
M  +7    -20   core/dplugins/generic/webservices/flickr/flickrtalker.cpp
M  +2    -8    core/dplugins/generic/webservices/inaturalist/CMakeLists.txt
M  +0    -7    core/dplugins/generic/webservices/inaturalist/inatwindow.cpp
M  +4    -15   core/dplugins/generic/webservices/onedrive/odtalker.cpp
M  +4    -15   core/dplugins/generic/webservices/pinterest/ptalker.cpp
M  +1    -1    core/dplugins/generic/webservices/vkontakte/CMakeLists.txt
M  +3    -11   core/dplugins/generic/webservices/vkontakte/backend/vkontakte_authenticationdialog.cpp
M  +2    -8    core/libs/dialogs/CMakeLists.txt
M  +2    -5    core/libs/dialogs/libsinfodlg.cpp
M  +1    -1    core/libs/dplugins/CMakeLists.txt
M  +1    -1    core/tests/CMakeLists.txt
M  +1    -9    core/tests/miscs/browser_gui.cpp
M  +0    -4    core/utilities/CMakeLists.txt
M  +2    -7    core/utilities/geolocation/geoiface/CMakeLists.txt
M  +3    -16   core/utilities/geolocation/geoiface/backends/backendgooglemaps.cpp
D  +0    -33   core/utilities/nowebwidget/CMakeLists.txt
D  +0    -44   core/utilities/nowebwidget/dnowebdlg.cpp
D  +0    -46   core/utilities/nowebwidget/dnowebdlg.h
D  +0    -99   core/utilities/nowebwidget/dnowebwidget.cpp
D  +0    -116  core/utilities/nowebwidget/dnowebwidget.h

https://invent.kde.org/graphics/digikam/commit/d6827df3af4c5f788212049da704d900217145b7
Comment 23 maderios 2022-02-18 21:30:12 UTC
(In reply to caulier.gilles from comment #19)
> After to checkout the git/master repository, switch to the dedicated qt5
> maintenance branch as explained here :
> 
> https://www.digikam.org/download/git/
> 
> Gilles Caulier

"This branch do not accept new features, only bug fixes"
I see  that qt5  maintenance branch is not what I need...
Comment 24 maderios 2022-03-09 19:09:10 UTC
I confirm build works with
-DENABLE_QWEBENGINE=OFF