Opened 5 years ago
Last modified 18 months ago
#62755 assigned update
digikam: update to 8.4.0
| Reported by: | mascguy (Christopher Nielsen) | Owned by: | cgilles (HumanDynamo) |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | |
| Keywords: | Cc: | RJVB (René Bertin), cjones051073 (Chris Jones), contextnerror | |
| Port: | digikam |
Description
It looks like our Digikam port is a few major releases behind. And it's also failing to build across-the-board on our buildbots.
Let's update to the latest release, if possible.
Change History (9)
comment:1 Changed 5 years ago by mascguy (Christopher Nielsen)
comment:2 Changed 5 years ago by RJVB (René Bertin)
Much easier said than done, alas. At least the way I build and install my KF5 stuff but even if I didn't try to get feature parity with Linux builds there would still be a sh*load of dependencies to introduce first. Here's a pruned list allowing to focus on non-existant ports (kf5-*):
The following ports are dependencies of kf5-digikam @7.1.0_0+langselect+qt5kde:
xz
pkgconfig
cmake
kde-extra-cmake-modules
kf5-kdoctools
kf5-ki18n
python27
qt5-kde
kf5-karchive
flex
qt5-webkit
kf5-libkipi
kf5-kconfig
kf5-kservice
kf5-kcoreaddons
shared-mime-info
kf5-kcrash
kf5-kwindowsystem
kf5-kdbusaddons
kf5-kxmlgui
kf5-attica
kf5-kconfigwidgets
kf5-kauth
kf5-kcodecs
kf5-kguiaddons
kf5-kwidgetsaddons
kf5-kglobalaccel
kf5-kiconthemes
kf5-kitemviews
kf5-ktextwidgets
kf5-kcompletion
kf5-sonnet
hunspell
kf5-kcalcore
libical
kf5-kio
acl-dev
acl
attr
kf5-kbookmarks
kf5-kjobwidgets
kf5-knotifications
phonon-qt5
dbusmenu-qt5
kf5-kwallet
qgpgme
kf5-solid
kf5-kfilemetadata
exiv2
poppler-qt5
taglib
ffmpeg
ebook-tools
kf5-kitemmodels
kf5-knotifyconfig
kf5-threadweaver
opencv
libpgf
kf5-marble
protobuf3-cpp
kf5-knewstuff
kf5-kpackage
kf5-kparts
kf5-krunner
kf5-plasma-framework
kf5-kactivities
boost
kf5-kdeclarative
kf5-kirigami2
kf5-breeze-icons
shapelib
libgpod
ImageMagick
eigen3
lensfun
libgphoto2
gphoto2
liblqr
kf5-libkexiv2
oxygen-icons
qt5-sqlite-plugin
qt5-qtbase
gstreamer1-gst-libav
gstreamer1-gst-plugins-good
Personally I have given up on the idea of introducing KF5 to MacPorts - I'm not even maintaining my own ports very actively anymore.
Gilles himself probably has experience building a standalone version using a script he might be able to tweak so Qt5 and other dependencies are taken from MacPorts but the KF5 frameworks and libraries are embedded in the app bundle.
comment:3 follow-up: 7 Changed 5 years ago by cgilles (HumanDynamo)
Hi,
Mostly the list of dependencies is out of date. As i can see libkipi libkexiv2 for ex, are removed since few years now.
Look here to see the dependencies list of digiKam :
https://www.digikam.org/api/index.html#externaldeps
And yes, the current MacOS PKG installer is fully compiled with Macports. This include KF5 of course. My scripts are located here :
https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/macports
This is the macports packages list installed to compile digiKam :
... and here, the list of KF5 components installed in Macports:
The script 03 compile and install 3 shared UPSTREAM libs (libexiv2, lensfun, libqtav), digiKam, and 2 stand alone plugins.
The script 04, scan dependencies to build the PKG installer, drop debug symbols, make binaries relocatable, and package the application.
To process packaging from scratch, this take 4 hours on my macbook pro 2015 Intel.
Voilà, If you need more guidance, let's me hear...
Gilles Caulier
comment:4 Changed 5 years ago by Christopher Nielsen <mascguy@…>
comment:5 Changed 4 years ago by contextnerror
| Cc: | contextnerror added |
|---|
comment:6 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
| Summary: | digikam: update to 7.2.0 → digikam: update to 8.4.0 |
|---|
comment:7 follow-up: 9 Changed 2 years ago by barracuda156
Replying to cgilles:
I have built now 4.14.0, however it crashes on launch (like many KDE4 apps, though not all of them):
QIODevice::setTextModeEnabled: The device is not open digikam(89086) mac_initialize_dbus: warning: unable to initialize D-Bus environment! Error: "/var/tmp/kdecache-svacchanda" is owned by uid 501 instead of uid 0. Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries .. done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries warning: Could not find object file "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_kde4-runtime/kde4-runtime/work/build/kimgio/CMakeFiles/kimg_webp.dir/webp.cpp.o" - no debug information available for "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_kde4-runtime/kde4-runtime/work/kde4-runtime-4.14.4.20171102/kimgio/webp.cpp". . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries . done Reading symbols for shared libraries .. done Reading symbols for shared libraries . done Reading symbols for shared libraries . done digikam(89086)/kdeui (kdelibs): Session bus not found To circumvent this problem try the following command (with Linux and bash) export $(dbus-launch) Program received signal SIGABRT, Aborted. 0x00b32d48 in __kill () (gdb) bt #0 0x00b32d48 in __kill () #1 0x00bd680c in abort () #2 0x0463a934 in qt_message_output () #3 0x0321b810 in QDebug::~QDebug () #4 0x03300f48 in KApplicationPrivate::init () #5 0x03301878 in KApplication::KApplication () #6 0x004523c8 in main ()
comment:8 Changed 18 months ago by mohd-akram (Mohamed Akram)
| Type: | defect → update |
|---|
comment:9 Changed 18 months ago by RJVB (René Bertin)
At this point the easiest way to upgrade the port would be to have it pull the official .pkg installer and pull the application from there. Looking over the build script I think that the net result is going to be the same: the installation of a fully independent .app bundle that may or may not be movable. Replying to barracuda156:
Replying to cgilles:
I have built now 4.14.0, however it crashes on launch (like many KDE4 apps, though not all of them):
QIODevice::setTextModeEnabled: The device is not open digikam(89086) mac_initialize_dbus: warning: unable to initialize D-Bus environment! Error: "/var/tmp/kdecache-svacchanda" is owned by uid 501 instead of uid 0.
[...]
digikam(89086)/kdeui (kdelibs): Session bus not found To circumvent this problem try the following command (with Linux and bash) export $(dbus-launch)
Program received signal SIGABRT, Aborted. 0x00b32d48 in kill () (gdb) bt #0 0x00b32d48 in kill () #1 0x00bd680c in abort () #2 0x0463a934 in qt_message_output () #3 0x0321b810 in QDebug::~QDebug () #4 0x03300f48 in KApplicationPrivate::init () #5 0x03301878 in KApplication::KApplication () #6 0x004523c8 in main () }}}
That's not a crash, that's an abort. Without debug info in kdelibs4 it's impossible to tell why but I suspect the QIODevice error might be related. Or the simple fact that an attempt is made to run a KDE4 application without having a session DBus daemon running. I never tried to do that but there is a reason why port notes kdelibs4 says
Don't forget that dbus needs to be started as the local user (not with sudo) before any KDE programs will launch.
(note the last 2 words!)

According to rumors, Rene may have a working Digikam 7.1.0 port already... ;-)