Bug 491857 - Unable to build on MacOS arm64 with Macports.
Summary: Unable to build on MacOS arm64 with Macports.
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Bundle-MacOS (show other bugs)
Version: 8.4.0
Platform: Compiled Sources macOS
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-18 11:53 UTC by Michael Miller
Modified: 2024-09-14 21:29 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Miller 2024-08-18 11:53:54 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

SUMMARY


STEPS TO REPRODUCE
1. Start with a fresh Mac without macports or homebrew installed
2. download digiKam sources --depth 1 --branch 8.4.0
3. cd to ~/digikam/project/bundles/macports
4. run 01-build-macports.sh

OBSERVED RESULT
After several hours, the build breaks while building qt5-qtwebengine with the error:
:info:configure ERROR: Unmodified ffmpeg >= 5.0 is not supported. Please configure with -qt-webengine-ffmpeg.

Surrounding log entries:
:debug:main Executing org.macports.main (qt5-qtwebengine)
:debug:main dropping privileges: euid changed to 502, egid changed to 501.
:debug:main Privilege de-escalation not attempted as not running as root.
:debug:archivefetch archivefetch phase started at Sun Aug 18 00:07:47 EDT 2024
:debug:archivefetch Executing org.macports.archivefetch (qt5-qtwebengine)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.fetch (qt5-qtwebengine)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.checksum (qt5-qtwebengine)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.extract (qt5-qtwebengine)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:archivefetch Skipping completed org.macports.patch (qt5-qtwebengine)
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:configure configure phase started at Sun Aug 18 00:07:47 EDT 2024
:notice:configure --->  Configuring qt5-qtwebengine
:debug:configure Preferred compilers: clang macports-clang-17 macports-clang-16 macports-clang-15 macports-clang-14 macports-clang-11
:debug:configure Using compiler 'Xcode Clang'
:debug:configure Executing proc-pre-org.macports.configure-configure-0
:debug:configure qt5 PortGroup: Qt is provided by qt5
:debug:configure Executing proc-pre-org.macports.configure-configure-1
:debug:configure Found Dependency: path: /opt/digikam.org.arm64/lib filename: libavcodec.dylib
:debug:configure Active variants check for source-type install considers depends_fetch depends_extract depends_lib depends_build depends_run: fontconfig dbus harfbuzz glib2 zlib minizip libevent libxml2 poppler pulseaudio icu libopus webp libpng lcms2 freetype re2 snappy qt5-qtdeclarative qt5-qtquickcontrols qt5-qtquickcontrols2 qt5-qtlocation qt5-qtwebchannel qt5-qttools qt5-qtbase python27 py27-ply ninja gperf bison flex qt5-qtwebengine-gn pkgconfig nodejs20
:debug:configure Executing proc-pre-org.macports.configure-configure-2
:debug:configure QT5 Qmake Cache /opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.16-lts/.qmake.cache
:debug:configure qt5-qtbase is installed with the following variants: +openssl
:debug:configure   required: debug, forbidden:
:debug:configure   rejected, because required variant debug is missing
:debug:configure Executing proc-pre-org.macports.configure-configure-3
:debug:configure qt5-qtbase is installed with the following variants: +openssl
:debug:configure   required: examples, forbidden:
:debug:configure   rejected, because required variant examples is missing
:debug:configure qt5-qtbase is installed with the following variants: +openssl
:debug:configure   required: tests, forbidden:
:debug:configure   rejected, because required variant tests is missing
:debug:configure Executing proc-pre-org.macports.configure-configure-4
:debug:configure Executing org.macports.configure (qt5-qtwebengine)
:debug:configure Environment:
:debug:configure CC='/usr/bin/clang'
:debug:configure CC_PRINT_OPTIONS='YES'
:debug:configure CC_PRINT_OPTIONS_FILE='/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/.CC_PRINT_OPTIONS'
:debug:configure CFLAGS='-pipe -Os -isysroot/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk -arch arm64'
:debug:configure CPATH='/opt/digikam.org.arm64/include'
:debug:configure CPPFLAGS='-I/opt/digikam.org.arm64/include -isysroot/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk'
:debug:configure CXX='/usr/bin/clang++'
:debug:configure CXXFLAGS='-pipe -Os -stdlib=libc++ -isysroot/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk -arch arm64'
:debug:configure DEVELOPER_DIR='/Applications/Xcode-15.2.app/Contents/Developer'
:debug:configure F90FLAGS='-pipe -Os -m64'
:debug:configure FCFLAGS='-pipe -Os -m64'
:debug:configure FFLAGS='-pipe -Os -m64'
:debug:configure INSTALL='/usr/bin/install -c'
:debug:configure LDFLAGS='-L/opt/digikam.org.arm64/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk -arch arm64'
:debug:configure LIBRARY_PATH='/opt/digikam.org.arm64/lib'
:debug:configure MACOSX_DEPLOYMENT_TARGET='11.3'
:debug:configure MACPORTS_LEGACY_SUPPORT_DISABLED='1'
:debug:configure OBJC='/usr/bin/clang'
:debug:configure OBJCFLAGS='-pipe -Os -isysroot/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk -arch arm64'
:debug:configure OBJCXX='/usr/bin/clang++'
:debug:configure OBJCXXFLAGS='-pipe -Os -stdlib=libc++ -isysroot/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk -arch arm64'
:debug:configure PATH='/opt/digikam.org.arm64/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/digikam.org.arm64/bin:/opt/digikam.org.arm64/sbin:/bin:/sbin:/usr/bin:/usr/sbin'
:debug:configure PKG_CONFIG_ALLOW_SYSTEM_CFLAGS='1'
:debug:configure PKG_CONFIG_ALLOW_SYSTEM_LIBS='1'
:debug:configure SDKROOT='/Applications/Xcode-15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.sdk'
:debug:configure SOURCE_DATE_EPOCH='1722394506'
:info:configure Executing:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.16-lts" && /opt/digikam.org.arm64/libexec/qt5/bin/qmake PREFIX=/opt/digikam.org.arm64 QMAKE_LINK=/usr/bin/clang++ -spec macx-clang -- -webengine-kerberos -webengine-proprietary-codecs -system-webengine-icu -system-webengine-ffmpeg -feature-webengine-system-gn
:debug:configure system:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.16-lts" && /opt/digikam.org.arm64/libexec/qt5/bin/qmake PREFIX=/opt/digikam.org.arm64 QMAKE_LINK=/usr/bin/clang++ -spec macx-clang -- -webengine-kerberos -webengine-proprietary-codecs -system-webengine-icu -system-webengine-ffmpeg -feature-webengine-system-gn
:info:configure Running configuration tests...
:info:configure ERROR: Unmodified ffmpeg >= 5.0 is not supported. Please configure with -qt-webengine-ffmpeg.
:info:configure Command failed:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.16-lts" && /opt/digikam.org.arm64/libexec/qt5/bin/qmake PREFIX=/opt/digikam.org.arm64 QMAKE_LINK=/usr/bin/clang++ -spec macx-clang -- -webengine-kerberos -webengine-proprietary-codecs -system-webengine-icu -system-webengine-ffmpeg -feature-webengine-system-gn
:info:configure Exit code: 3
:error:configure Failed to configure qt5-qtwebengine: consult /opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-5.15.16-lts/config.log
:error:configure Failed to configure qt5-qtwebengine: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"
:error:configure See /opt/digikam.org.arm64/var/macports/logs/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/main.log for details.


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 14.6.1 (23G93)
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 5

ADDITIONAL INFORMATION
I'm using Xcode version 15.2.  I can't run anything earlier than 15.0 on this version of MacOS.  Additionally, this is an arm64, not x86_64 build.

It looks like ffmpeg 6.1.1 is being explicitly used in digikam/project/bundles/3rdparty/ext_ffmpeg.  I'm going to try 4.5.5 and see what happens.  Alternatively, it looks like we could specify the flag "-qt-webengine-ffmpeg", but I'm not sure how to modify the options or makefiles.

I had to modify a few files to even get this far in the build.  Specifically, I added the following ports to 01-build-macports.sh:

port install py312-setuptools_scm
port install libass
port install opus-tools
port install libvpx
port install x264
Comment 1 caulier.gilles 2024-08-21 13:48:07 UTC
Hi,

This problem is mostly a Macports one, especially with the Qt5 portfile not well maintained since one year now :

https://ports.macports.org/port/qt5/

You can see that it's Qt5 version 5.15.12, where the last stable is the 5.15.14 :

https://download.qt.io/official_releases/qt/5.15/5.15.14/single/

...and i would not to talk about the Qt6 version which still locked to 6.4.3 :

https://ports.macports.org/port/qt6/

where last stable is 6.7.2 :

https://download.qt.io/official_releases/qt/6.7/6.7.2/single/

By chance, a new contributor propse and update of qt 6 :

https://trac.macports.org/ticket/66975#comment:14

So wait and see.

Gilles Caulier
Comment 2 Michael Miller 2024-08-21 20:09:13 UTC
Thank you for the reply.  After hitting too many issues, I gave up on using Macports, and I'm much further using Homebrew.  I'm going to close the ticket.
Comment 3 caulier.gilles 2024-08-22 07:24:42 UTC
The macports build is not unmainted and still prefered to homebrew as this last one do not work yet.

As i said previously, a new Qt6.7.2 version will arrives in macports :

https://trac.macports.org/ticket/66975#comment:14

So, the story will continue.

Gilles Caulier
Comment 4 caulier.gilles 2024-08-25 08:58:31 UTC
Good news: the Qt6 is now updated to last one under MacPorts : 6.7.2

https://ports.macports.org/port/qt6/

There is a new maintainer for Qt in MacPorts.

Next Wednesday and Thursday I will rebuild with Macports :

1/ The Qt6 build for Intel
2/ The Qt5 build for Intel
3/ Try the Arm64 build with Qt6

Gilles Caulier
Comment 5 caulier.gilles 2024-08-28 09:59:50 UTC
Michael,

I tried to build Macports with Qt6 6.7.2, but the port install is broken well before Qt on my computer :

https://trac.macports.org/ticket/70643

Best

Gilles Caulier
Comment 6 caulier.gilles 2024-08-28 12:09:26 UTC
Git commit 6990f7b499d4d8a06b7a70372c12d27e4ede8ddf by Gilles Caulier.
Committed on 28/08/2024 at 12:09.
Pushed by cgilles into branch 'master'.

enable Qt6
disable valadoc due to cycle deps

M  +1    -0    project/bundles/macports/01-build-macports.sh
M  +1    -1    project/bundles/macports/config.sh

https://invent.kde.org/graphics/digikam/-/commit/6990f7b499d4d8a06b7a70372c12d27e4ede8ddf
Comment 7 Michael Miller 2024-08-28 21:20:33 UTC
Alternatively, you could create patch files and keep Valadoc.  See https://trac.macports.org/ticket/70547
Comment 8 caulier.gilles 2024-08-29 01:50:33 UTC
definitively, valadoc, we don't care for digiKam...

Now the problem is the second cycle dependency with Perl stuff:

https://trac.macports.org/ticket/70547

Gilles
Comment 9 caulier.gilles 2024-09-09 05:56:15 UTC
In fact the 01 script was modified to install ffmpeg and Qt6 by hand, but it never work. Now as Qt6.7.2 is ready to use in Macports, i reverted these changes. All compiling on my computer, wait and see...
Comment 10 caulier.gilles 2024-09-09 06:03:58 UTC
Note : the Qt6.7.2 is always depending of ffmpeg version 4, not 5 or later. It's a big problem as recent video files from phone camera will not be played properly under MacOS. A ticket must be created in Macports to change the ffmpeg dependency as ffmpeg 6 or 7 ports are available.

Qt6.7 support ffmpeg 6.1 not 7 yet.

https://doc.qt.io/qt-6/qtmultimedia-attribution-ffmpeg.html

Note that ffmpeg need to be compiled with gpl3 and nonfree modules, else important codec will miss at run time.

Gilles
Comment 11 caulier.gilles 2024-09-09 10:14:23 UTC
Ok, install stop about the Orbit2 dependency from Qt6-qtWebEngine with this error :

:info:configure checking whether byte ordering is bigendian... no
:info:configure configure: error: 
:info:configure Linking is badly borked on your system. Please ensure your library path is correct
:info:configure Check config.log for details - check near the end of the log above 'failed program was'
:info:configure Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
:info:configure prefix you're compiling on: '/opt/digikam.org.arm64' 
:info:configure Command failed:  cd "/opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_orbit2/orbit2/work/ORBit2-2.14.19" && ./configure --prefix=/opt/digikam.org.arm64 
:info:configure Exit code: 1
:error:configure Failed to configure orbit2: consult /opt/digikam.org.arm64/var/macports/build/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_orbit2/orbit2/work/ORBit2-2.14.19/config.log
:error:configure Failed to configure orbit2: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"
:error:configure See /opt/digikam.org.arm64/var/macports/logs/_opt_digikam.org.arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_orbit2/orbit2/main.log for details.

Why this package need a special configuration to compile ? I have plenty of ports already installed without problem...

Gilles
Comment 12 caulier.gilles 2024-09-09 19:10:24 UTC
macports bug : https://trac.macports.org/ticket/70698
Comment 13 caulier.gilles 2024-09-10 06:01:15 UTC
KF6 frameworks compilation is just complete under Macports. Now it's time to fight with digiKam code...

Gilles
Comment 14 caulier.gilles 2024-09-11 03:43:26 UTC
Git commit c65b90fa4a22dbbf313a11776e66a68712f5d0aa by Gilles Caulier.
Committed on 11/09/2024 at 03:41.
Pushed by cgilles into branch 'master'.

Macports : factorize rules to compile with Jasper headers. Fix broken compilation with __STDC_VERSION__

M  +1    -38   core/dplugins/dimg/jpeg2000/dimgjpeg2000loader.cpp
M  +1    -49   core/dplugins/dimg/jpeg2000/dimgjpeg2000loader_load.cpp
C  +16   -54   core/dplugins/dimg/jpeg2000/dimgjpeg2000loader_p.h [from: core/dplugins/dimg/jpeg2000/dimgjpeg2000loader.cpp - 061% similarity]
M  +1    -48   core/dplugins/dimg/jpeg2000/dimgjpeg2000loader_save.cpp
M  +1    -37   core/dplugins/dimg/jpeg2000/dimgjpeg2000plugin.cpp

https://invent.kde.org/graphics/digikam/-/commit/c65b90fa4a22dbbf313a11776e66a68712f5d0aa
Comment 15 caulier.gilles 2024-09-11 03:59:23 UTC
Git commit b430e373c8c12d679ffe520f632ef4cc97f15fc6 by Gilles Caulier.
Committed on 11/09/2024 at 03:58.
Pushed by cgilles into branch 'master'.

disable this unit test under MacOS too

M  +2    -2    core/tests/dimg/CMakeLists.txt

https://invent.kde.org/graphics/digikam/-/commit/b430e373c8c12d679ffe520f632ef4cc97f15fc6
Comment 16 caulier.gilles 2024-09-11 04:28:32 UTC
Git commit 432eededf98658a44f7d3b912d616508e1214210 by Gilles Caulier.
Committed on 11/09/2024 at 04:26.
Pushed by cgilles into branch 'master'.

pass right architecture under MacOS
wrap right Qt5 or Qt6 version depending of the configuration

M  +1    -1    project/bundles/macports/03-build-digikam.sh
M  +14   -14   project/bundles/macports/04-build-installer.sh

https://invent.kde.org/graphics/digikam/-/commit/432eededf98658a44f7d3b912d616508e1214210
Comment 17 caulier.gilles 2024-09-11 06:30:50 UTC
I fix also the MacOS target for arm64 in gmic-qt :

https://github.com/cgilles/gmic-qt/commit/f881ce7d66cf8e3de738565dbe91396d0ce49774

Gilles
Comment 18 caulier.gilles 2024-09-11 07:53:58 UTC
Git commit 8cb142b0394dcd722852fceb265457d0f9e34a3b by Gilles Caulier.
Committed on 11/09/2024 at 07:52.
Pushed by cgilles into branch 'master'.

Properly wrap contents passed to rll.py script under MacOS arm64

M  +11   -1    project/bundles/macports/04-build-installer.sh

https://invent.kde.org/graphics/digikam/-/commit/8cb142b0394dcd722852fceb265457d0f9e34a3b
Comment 19 caulier.gilles 2024-09-11 12:08:59 UTC
Git commit ab5e657c325d9f4ba997bc1bbc4f64509b5d7a43 by Gilles Caulier.
Committed on 11/09/2024 at 12:07.
Pushed by cgilles into branch 'master'.

Macports arm64 : more rules to drive Mariadb version installed with the qt6-qtmysql-plugin

M  +25   -8    project/bundles/macports/04-build-installer.sh
M  +10   -9    project/bundles/macports/config.sh

https://invent.kde.org/graphics/digikam/-/commit/ab5e657c325d9f4ba997bc1bbc4f64509b5d7a43
Comment 20 caulier.gilles 2024-09-11 15:29:26 UTC
Michael,

The first Macports native Apple Silicon PKG installer is compiled on my computer :

        ----------------------------------------------

        Definition

                Background picture (done)
                Introduction (done)
                License (done)
                Conclusion (done)
                Choices hierarchies (done)

WARNING: Unable to automatically determine the value for hostArchitectures
        Plugins (done)

        Create xar archive (done)

------------------------------------------------------------------------------
Build Successful (29 seconds)

---------- Compute package checksums for digiKam 8.5.0

File       : /Users/gilles/devel/8.x/project/bundles/macports/bundle/digiKam-8.5.0-20240911T131007-Qt6-MacOS-arm64.pkg
Size       : 305M
SHA256 sum : 4075c48fc790039c3a6e330b52fe057c4ab229e00d0f20bd60d77226910a79fb

Now i will test installer and the application...

Gilles
Comment 21 caulier.gilles 2024-09-11 15:55:12 UTC
Maik, Michael,

The Arm64 Silicon version installer works :

https://i.imgur.com/SdLTf5S.png

It's start but crash in QtWebEngine :

https://i.imgur.com/lbpnsMQ.png

Gilles
Comment 22 caulier.gilles 2024-09-11 15:56:46 UTC
The crash is due to a wrong packaging place in the bundle. plugins are not found and the QtWebEngine external process connot be found to be loaded in memory :

gilles@MacBook-Pro-M1-de-Gilles / % cd /Applications/digiKam.org/digikam.app/Contents/MacOS 
gilles@MacBook-Pro-M1-de-Gilles MacOS % ll
total 56
drwxr-xr-x   3 root  wheel      96 Sep 11 17:32 .
drwxr-xr-x  10 root  wheel     320 Sep 11 17:32 ..
-rwxr-xr-x   1 root  wheel  132968 Sep 11 17:21 digikam
gilles@MacBook-Pro-M1-de-Gilles MacOS % ./digikam
digikam.widgets: Breeze icons resource file found
digikam.widgets: Breeze-dark icons resource file found
digikam.general: Qt standard translations removed: 2
digikam.general: Qt standard translations path: "/Applications/digiKam.org/digikam.app/Contents/Resources/translations"
digikam.general: Language set to: "en_US"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qt"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qtbase"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qt_help"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qtdeclarative"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qtmultimedia"
digikam.general: Loaded Qt standard translations "en_US" from catalog "qtwebengine"
digikam.general: Loaded Qt ECM translations "en" from catalog "kcoreaddons6_qt"
digikam.general: Loaded Qt ECM translations "en" from catalog "kwidgetsaddons6_qt"
digikam.general: Switch to widget style:  "Breeze"
digikam.general: AlbumWatch is disabled
digikam.general: Database Parameters:
   Type:                        "QSQLITE"
   DB Core Name:                "/Users/gilles/Pictures/digikam4.db"
   DB Thumbs Name:              "/Users/gilles/Pictures/thumbnails-digikam.db"
   DB Face Name:                "/Users/gilles/Pictures/recognition.db"
   DB Similarity Name:          "/Users/gilles/Pictures/similarity.db"
   Connect Options:             ""
   Host Name:                   ""
   Host Port:                   -1
   WAL Mode:                    true
   Internal Server:             false
   Internal Server Path:        ""
   Internal Server Init Cmd:    ""
   Internal Server Admin Cmd:   ""
   Internal Server Program Cmd: ""
   Internal Server Upgrade Cmd: ""
   Username:                    ""
   Password:                    ""

digikam.dbengine: Loading SQL code from config file "/Applications/digiKam.org/digikam.app/Contents/Resources/digikam/database/dbconfig.xml"
digikam.dbengine: Checking XML version ID => expected:  3  found:  3
digikam.dbengine: WAL mode is enabled for "digikam4.db"
digikam.coredb: Core database: running schema update
digikam.coredb: Core database: have a structure version  16
digikam.coredb: Core database: makeUpdates  16  to  16
digikam.database: Creating new Location  "/Users/gilles/Pictures"  uuid  "volumeid:?uuid=b4763aae-bedc-4fa9-b761-c36e884340bb&fileuuid=96021973-a760-4310-8a42-d92986e37e48"
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairRequested(QString)
qt.core.qobject.connect: QObject::connect: No such signal Solid::Backends::IOKit::IOKitStorageAccess::repairDone(Solid::ErrorType, QVariant, QString)
digikam.database: Found Location "/System/Volumes/Data/Users/gilles/Pictures" with file uuid "96021973..."
digikam.database: Location for "/System/Volumes/Data/Users/gilles/Pictures" is available: true => case sensitivity: 1
digikam.general: Allowing a cache size of 983 MB
digikam.dbengine: WAL mode is enabled for "thumbnails-digikam.db"
digikam.thumbsdb: ThumbDB SelectThumbnailSetting val ret =  0
digikam.thumbsdb: ThumbDB SelectThumbnailSetting val ret =  0
digikam.thumbsdb: Thumbs database: have a structure version  "3"
digikam.general: Thumbnails database ready for use
digikam.dbengine: WAL mode is enabled for "similarity.db"
digikam.similaritydb: SimilarityDb SelectSimilaritySetting val ret =  0
digikam.similaritydb: SimilarityDb SelectSimilaritySetting val ret =  0
digikam.similaritydb: Similarity database: have a structure version  "1"
digikam.similaritydb: Similarity database ready for use
digikam.dimg: QList("/System/Library/ColorSync/Profiles", "/Library/ColorSync/Profiles")
digikam.dimg: The original Adobe RGB (1998) profile has been found at "/System/Library/ColorSync/Profiles/AdobeRGB1998.icc"
digikam.general: Does not contain  "Pick label"  Namespace
digikam.general: [GeolocationSettingsContainer]
   distanceUnit(0), 
   angleUnit(1), 
   stillQuality(3), 
   animationQuality(1), 
   mapFont(QFont(.AppleSystemUIFont,13,-1,5,400,0,0,0,0,0,0,0,0,0,0,1)), 
   inertialRotation(true), 
   mouseRotation(true), 
   volatileTileCacheLimit(100), 
   persistentTileCacheLimit(999999), 
   showGrid(true), 
   showCross(false), 
   showAtmosphere(false), 
   showSunShading(false), 
   showCities(true), 
   showRelief(true)
digikam.general: Camera XML data:  "/Users/gilles/Library/Application Support/digikam/cameras.xml"
digikam.metaengine: ExifTool config path: "/Applications/digiKam.org/digikam.app/Contents/bin/exiftool"
digikam.metaengine: Path to ExifTool: "/Applications/digiKam.org/digikam.app/Contents/bin/exiftool"
digikam.metaengine: ExifToolProcess::start(): create new ExifTool instance: "/Applications/digiKam.org/digikam.app/Contents/bin/exiftool" QList("-stay_open", "true", "-@", "-", "-common_args", "-charset", "filename=UTF8", "-charset", "iptc=UTF8")
digikam.metaengine: ExifTool process started
digikam.general: Starting to load external tools.
digikam.general: Parsing plugins from QList("/opt/digikam.org.arm64/libexec/qt6/plugins/digikam/")
digikam.general: Plugins found: 0
digikam.general: No plugins loaded. Please check if the plugins were installed in the correct path, or if any errors occurred while loading plugins.
digikam.general: void Digikam::DPluginLoader::Private::loadPlugins() Time elapsed: 0 ms
digikam.dbengine: WAL mode is enabled for "recognition.db"
digikam.facedb: FaceDB SelectFaceSetting val ret =  0
digikam.facedb: FaceDB SelectFaceSetting val ret =  0
digikam.facedb: Face database: have a structure version  "4"
digikam.facesengine: Face database ready for use
digikam.facedb: Start reading shape predictor file
digikam.facedb: Finish reading shape predictor file
digikam.facedb: Extractor model: "/Users/gilles/Library/Application Support/digikam/digikam/facesengine/openface_nn4.small2.v1.t7"
digikam.general: Face PipeLine: add database writer
digikam.general: Face PipeLine: add faces trainer
digikam.general: Face PipeLine: add database writer
digikam.general: Face PipeLine: add faces trainer
The following paths were searched for Qt WebEngine Process:
  /Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
  /Applications/digiKam.org/digikam.app/Contents/MacOS/QtWebEngineProcess
but could not find it.
You may override the default search path by using QTWEBENGINEPROCESS_PATH environment variable.
zsh: abort      ./digikam
gilles@MacBook-Pro-M1-de-Gilles MacOS % 

Gilles
Comment 23 caulier.gilles 2024-09-11 15:58:18 UTC
Maik,

Look like all broken signals/slots connections from the KDE Solid framework... Very strange...

Gilles
Comment 24 Michael Miller 2024-09-11 16:11:57 UTC
I think got the same thing a few weeks ago.  If you're getting the same thing I did, it's bug possibly in solid where it's doing a cfrelease on a null pointer.  I have a patch in my repo that solves it.  I'm checking in a new round of commits to my master that will include the fix.  The patch is wrapped so it only applies to Homebrew, but if works for you we can change it to all Mac builds.

https://invent.kde.org/michmill/digi-kam-mac-os-arm-64-michmill/-/blob/8f259403e34ce9217cf31e4b068f689cf9a99209/project/bundles/3rdparty/ext_kf6/solid-iokit-cfrelease.patch

Once the merge from my branch into my master is complete, I'll do a MR from my private fork to digikam master.
Comment 25 caulier.gilles 2024-09-11 16:13:37 UTC
Michael,

Voilà, placing the QtWebEngineProcess at the right place in the bundle, it starts, but It's not so far perfect:

https://i.imgur.com/hracuO5.png

Gilles
Comment 26 Michael Miller 2024-09-11 16:17:43 UTC
That looks EXACTLY like mine.  Same issues with the UI.
Comment 27 caulier.gilles 2024-09-11 16:26:59 UTC
It miss the QtCurves style plugin... This one is present in the Intel version...

Gilles
Comment 28 Maik Qualmann 2024-09-11 16:28:56 UTC
(In reply to caulier.gilles from comment #23)
> Maik,
> 
> Look like all broken signals/slots connections from the KDE Solid
> framework... Very strange...

These missing signal/slot messages are currently present on all systems, including Linux in the Qt6 version of Solid.

Maik
Comment 29 Michael Miller 2024-09-11 16:38:29 UTC
I have these in Homebrew. Are these all files what we need for QtCurve?

>/opt/homebrew/share/QtCurve
>/opt/homebrew/share/QtCurve/Breeze.qtcurve
Comment 30 Maik Qualmann 2024-09-11 16:39:21 UTC
(In reply to Maik Qualmann from comment #28)
> (In reply to caulier.gilles from comment #23)
> > Maik,
> > 
> > Look like all broken signals/slots connections from the KDE Solid
> > framework... Very strange...
> 
> These missing signal/slot messages are currently present on all systems,
> including Linux in the Qt6 version of Solid.

I checked again and now with KF-6.5.0 I no longer have these messages.

Maik
Comment 31 Michael Miller 2024-09-11 17:53:38 UTC
Hi Gilles,
Thanks for the info about QtCurves.  I now have the UI looking the way it should.  

https://imgur.com/a/ego6gvf

digiKam Homebrew issues:
* Mac menu bar doesn't work
* MariaDB - this is just moving/linking the files to the right place
* Spell check - no spell-checkers are available
Comment 32 Michael Miller 2024-09-11 19:42:13 UTC
Hi Maik and Gilles,
It looks like changing to KF 6.5.0 breaks some ext_breeze patches.  Also, I tried using 8.5.0 and I still get the same cfrelease error in solid.
Comment 33 Laurent Trinques 2024-09-13 06:44:54 UTC
FYI, Qt 5.15.15 is now available on macports.
https://ports.macports.org/port/qt5/

Laurent
Comment 34 caulier.gilles 2024-09-13 07:04:23 UTC
yes i seen. It's planed to build a Qt5-arm64 version.

Also the Intel bundle need to be updated.

Gilles
Comment 35 caulier.gilles 2024-09-14 21:29:47 UTC
Next digiKam 8.5.0 macOS bundles will compiled in native for Apple Silicon
(arm64 architecture).
It will use Qt 6.7.2 and KDE framework 6.5.0.

Screenshot: https://i.imgur.com/BAuRI4i.png