Opened 4 weeks ago

Last modified 7 days ago

#62220 new defect

KeePassXC @2.6.4: no member named 'MacOSBigSur' in 'QOperatingSystemVersion'

Reported by: thetrial (alabay) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: elcapitan Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: KeePassXC


KeePassXC 2.6.2 and 2.6.3 built flawless, but with 2.6.4 I ran into this issue:

:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_KeePassXC/KeePassXC/work/keepassxc-2.6.4-src/src/gui/styles/base/BaseStyle.cpp:295:84: error: no member named 'MacOSBigSur' in 'QOperatingSystemVersion'
:info:build                 if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur) {
:info:build                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_KeePassXC/KeePassXC/work/keepassxc-2.6.4-src/src/gui/styles/base/BaseStyle.cpp:302:84: error: no member named 'MacOSBigSur' in 'QOperatingSystemVersion'
:info:build                 if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur) {
:info:build                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~^
:info:build 2 errors generated.
:info:build make[2]: *** [src/CMakeFiles/keepassx_core.dir/gui/styles/base/BaseStyle.cpp.o] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_KeePassXC/KeePassXC/work/build'
:info:build make[1]: *** [src/CMakeFiles/keepassx_core.dir/all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_KeePassXC/KeePassXC/work/build'
:info:build make: *** [all] Error 2

Change History (6)

comment:1 Changed 4 weeks ago by ryandesign (Ryan Schmidt)

As you've discovered, KeePassXC 2.6.4 now requires a version of Qt that can identify macOS Big Sur. According to this Qt commit this has been backported to Qt 5.12 and 5.15. Being on OS X El Capitan, the latest version of Qt you can use is 5.11.

comment:2 Changed 4 weeks ago by thetrial (alabay)

Again a Qt thing. That means: Either this capability is backported into older Qt versions for El Capitan (and maybe older OSs) – or KeePassXC is out of the race for El Capitan, which I would quite regret. Then KeePass’ portfile should be adapted to drop El Capitan.

What, do you think, is practicable? Or is this (together with other Qt related things, e.g. owncloud-client) a general Qt issue? I would not know how to describe that as a ticket).

comment:3 Changed 4 weeks ago by thetrial (alabay)

Comment to my question under your mentioned Qt commit:

No upstream-supported version of Qt supports El Capitan (Qt 5.12 supports macOS 10.12 and up), but back-porting this to non-supported Qt versions (in macports, if that's what you're referring to), shouldn't be too hard.

Does anyone know how to realize that?

comment:4 Changed 4 weeks ago by ryandesign (Ryan Schmidt)

Cc: MarcusCalhoun-Lopez added

I'll Cc Marcus for input since he maintains the Qt ports.

Option seems to be:

  1. patch Qt 5.11 (and earlier?) source code to add this constant and maybe other related aspects of that upstream Qt commit,
  2. patch KeePassXC so that it does not rely on this aspect of Qt 5.12+,
  3. change the KeePassXC portfile so that version 2.6.3 is used on OS X 10.11 and earlier, or
  4. change the KeePassXC portfile to prevent installation on OS X 10.11 and earlier (by indicating a requirement for Qt 5.12+)
Last edited 4 weeks ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:5 Changed 2 weeks ago by macportsraf

I'm getting this error on 10.14.

comment:6 Changed 7 days ago by thetrial (alabay)

Any solution in sight? After a complete reinstall of Macports I don’t get any KeePassXC anymore. I have to pull the binary from my backup, detached from MacPorts.

Note: See TracTickets for help on using tickets.