#69580 closed update (fixed)
KeePassXC: update to 2.7.7
Reported by: | contextnerror | Owned by: | contextnerror |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | carbonturtle (Michael Hosford), ryandesign (Ryan Carsten Schmidt) |
Port: | KeePassXC |
Description
Attachments (3)
Change History (17)
comment:1 Changed 8 months ago by reneeotten (Renee Otten)
comment:2 follow-up: 5 Changed 8 months ago by contextnerror
Indeed, I have interest, but lack skill.
I've tried installing myself after updating the portfile, but it fails with make: *** [all] Error 2
.
It seems to fail at a different percentage of progress each time, so I'm not sure what exactly is tripping it up.
I'll attach my modified port and a log file.
Changed 8 months ago by contextnerror
comment:3 Changed 7 months ago by contextnerror
I've looked at the failures again, and it appears that the constant between them is this error:
error: no matching constructor for initialization of 'std::shared_ptr<unsigned char []>'
which happens around the point of BrowserMessageBuilder.cpp
comment:4 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | carbonturtle added |
---|
Has duplicate #69669.
comment:5 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | haspatch added |
---|---|
Summary: | keepassxc: update to 2.7.7 → KeePassXC: update to 2.7.7 |
Replying to contextnerror:
I've tried installing myself after updating the portfile, but it fails with
make: *** [all] Error 2
.
I did not see this problem on my macOS 12 machine. You were using macOS 10.14. Maybe it now requires a newer compiler but that's not mentioned in the changelog.
It seems to fail at a different percentage of progress each time, so I'm not sure what exactly is tripping it up.
That's typical for parallel builds. It starts many jobs, in your case 4, one of them fails, and then the remaining ones continue as far as they can. You could get different results each time you do this because of variances in the CPU time taken by other processes already running on your computer.
Also, I'm not sure how cmake's progress calculation is done, but if you interrupt a build (or it fails) and then you try again without cleaning, it might be telling you the percentage of what's left to build now, not the percentage of the whole build.
I'll attach my modified port and a log file.
Thanks. I'll commit it as-is and we can fix it up later if needed.
comment:6 Changed 7 months ago by contextnerror
Owner: | set to contextnerror |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:7 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|
comment:8 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
comment:9 Changed 7 months ago by contextnerror
Blacklisting clang < 1200 did seem to fix things, as I can now install 2.7.7.
However after install the port is shown as broken by rev-upgrade.
---> Installing KeePassXC @2.7.7_0 ---> Activating KeePassXC @2.7.7_0 ---> Cleaning KeePassXC ---> Updating database of binaries ---> Scanning binaries for linking errors ---> Found 4 broken files, matching files to ports ---> Found 1 broken port, determining rebuild order You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: KeePassXC @2.7.7 Continue? [Y/n]:
Rebuilding seems to fix the problem. However if port reclaim
is run the port will break again.
---> Checking for unnecessary unrequested ports Unrequested ports without requested dependents found: gnupg2 @2.4.5_0+openldap+pinentry gnutls @3.7.10_0 qt5-qttools @5.15.12_0 qt5-qtdeclarative @5.15.12_0 p11-kit @0.25.3_0 libxslt @1.1.39_0 clang-14 @14.0.6_2+analyzer clang-16 @16.0.6_3+analyzer clang-17 @17.0.6_1+analyzer cctools @949.0.1_3+llvm10 llvm-10 @10.0.1_3+emulated_tls llvm-14 @14.0.6_0 llvm-16 @16.0.6_1 llvm-17 @17.0.6_1 xar @1.8.0.498_0 py311-pygments @2.17.2_0 py311-yaml @6.0.1_0 pinentry @1.2.1_0 libassuan @2.5.7_0 libksba @1.6.6_0 openldap @2.6.7_0 perl5 @5.34.1_0+perl5_34 cyrus-sasl2 @2.1.28_1+kerberos gettext @0.22.5_0 gettext-tools-libs @0.22.5_0 libtextstyle @0.22.5_0 libfetch @9.0.0-RELEASE_3 pth @2.0.7_1 nettle @3.9.1_0 gmp @6.3.0_0 libtasn1 @4.19.0_0 libusb-compat @0.1.8_0 libusb @1.0.27_0 npth @1.7_0 tcp_wrappers @20_5 llvm_select @2_1 pygments_select @0.1_1 libyaml @0.2.5_0 libomp @18.1.2_1 clang_select @2.3_0 ld64 @3_6+ld64_xcode ld64-xcode @2_6 Would you like to uninstall them? [Y/n]: y (they get uninstalled) ---> Checking for inactive ports Found no inactive ports. ---> Building list of distfiles still in use ---> Searching for unused distfiles Found 2 files (total 120.07 MiB) that are no longer needed and can be deleted. [l]ist/[d]elete/[K]eep: d Deleting... ---> Build location: /opt/local/var/macports/build ---> Scanning binaries for linking errors ---> Found 4 broken files, matching files to ports ---> Found 1 broken port, determining rebuild order You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: KeePassXC @2.7.7 Continue? [Y/n]:
Unless reclaim is never run, you can get stuck in a loop of rev-upgrade. What's going on here? Has anyone else experienced this or is it 10.14 specific?
comment:10 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Sounds like it probably links with a library that we've failed to declare a dependency on. The debug output of rev-upgrade should identify which library that is.
comment:11 Changed 7 months ago by contextnerror
Here's what it's giving me:
---> Scanning binaries for linking errors DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC Could not open /opt/local/lib/libomp/libomp.dylib: Error opening or reading file (referenced from /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC) DEBUG: Marking /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC as broken DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/KeePassXC.app/Contents/MacOS/keepassxc-cli DEBUG: Marking /Applications/MacPorts/KeePassXC.app/Contents/MacOS/keepassxc-cli as broken DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/KeePassXC.app/Contents/MacOS/keepassxc-proxy DEBUG: Marking /Applications/MacPorts/KeePassXC.app/Contents/MacOS/keepassxc-proxy as broken DEBUG: Ignoring loadcommand containing @rpath in /Applications/MacPorts/KeePassXC.app/Contents/PlugIns/libkeepassxc-autotype-cocoa.so DEBUG: Marking /Applications/MacPorts/KeePassXC.app/Contents/PlugIns/libkeepassxc-autotype-cocoa.so as broken ---> Found 4 broken files, matching files to ports
Changed 7 months ago by contextnerror
Attachment: | rev-upgrade.diff added |
---|
This patch should fix the rev-upgrade issue (?)
comment:12 Changed 7 months ago by contextnerror
One other thing of note: the new passkey feature requires qt 5.12. Should the minimum qt for the entire port be raised, or should it be broken off into a different variant or conditional check?
comment:13 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)
Yes, that patch should do it, with the addition of increasing the revision.
The new KeePassXC built fine on our automated build machines on OS X 10.9 and later. On 10.9 it used Qt 5.8 and the configure phase output did include the line:
-- Qt version 5.12.0 or higher is required for Passkeys support
so the build system is smart enough to disable the passkey support on older systems that can't use it. However it is also easy to switch flags based on Qt version so I may as well do that.
It did fail to build on OS X 10.8 with Qt 5.7 with the error src/format/OPUXReader.cpp:159:44: error: no member named 'fromSecsSinceEpoch' in 'QDateTime'
so I will increase the port's minimum Qt version to 5.8. The developers are no help and do not specify what the minimum Qt version is so we have to guess.
It also failed on Mac OS X 10.7 with Qt 5.6 because on that system qt56-qtbase fails to build. That's #69582.
the port had no maintainer so someone with enough interest (you?) can submit a PR.