Opened 10 months ago

Closed 4 weeks ago

#67707 closed defect (worksforme)

KeePassXC @2.7.5 Fails to start with Qt Library incompatibility error

Reported by: vallon (Justin) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: keepassxc

Description

When I start KeePassXC in terminal, I see:

$ /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC
Cannot mix incompatible Qt library (5.15.9) with this library (5.15.10)
Abort trap: 6
[exit 134 | SIGABRT]

Mac crash report shows:

0   libsystem_kernel.dylib        	       0x193514724 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x19354bc28 pthread_kill + 288
2   libsystem_c.dylib             	       0x193459ae8 abort + 180
3   QtCore                        	       0x10486ead4 0x104858000 + 92884
4   QtCore                        	       0x104a0ee64 QMessageLogger::fatal(char const*, ...) const + 64
5   QtCore                        	       0x1049981ec 0x104858000 + 1311212
6   QtCore                        	       0x104998148 QObjectPrivate::QObjectPrivate(int) + 56
7   QtSvg                         	       0x103341924 QSvgRenderer::QSvgRenderer(QString const&, QObject*) + 52

What is installed:

$ port installed '*qt*' and rdepof:KeePassXC
The following ports are currently installed:
  qt5-qtbase @5.15.10_0+openssl (active)
  qt5-qtmacextras @5.15.10_0 (active)
  qt5-qtsvg @5.15.10_0 (active)

Picking one lib out of the crashreport, I see /opt/local/libexec/*/QtSvc.framework/Versions/5/QtSvg, and:

$ ls -l /opt/local/libexec/qt5/lib/QtSvg.framework/Versions/5/QtSvg
-rwxr-xr-x 1 root admin 328648 Jun  7 10:23 /opt/local/libexec/qt5/lib/QtSvg.framework/Versions/5/QtSvg
$ ls -l /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC
-rwxr-xr-x 1 root admin 5740838 May 19 15:17 /Applications/MacPorts/KeePassXC.app/Contents/MacOS/KeePassXC

My build log indicates that on 6/7, qt5-qtsvg 5.15.9 was present, but on 6/8, qt5-qtsvg 5.15.10 was present.

It looks like KeePassXC was built against Qt 5.15.9, and after the upgrade to Qt 5.15.10, KeePassXC was not rebuilt, and it seems there is some compatibility issue.

Rebuilding KeePassXC right now to see if a rebuild fixes it.

(Or, maybe qt5-qtsvg didn't flag that its callers needed a rebuild; I don't know how this works)

MacOS 13.4.1 Ventura MacBook Pro M1

Change History (2)

comment:1 Changed 10 months ago by vallon (Justin)

Rebuilding did not help.

Uninstalled KeePassXC and qt5-* deps (qtbase, qtdeclarative, qtmacextras, qtsvg, qttools). There is nothing "qt5* and installed". Reinstalled KeePassXC, and the application launched.

comment:2 in reply to:  description Changed 4 weeks ago by ryandesign (Ryan Carsten Schmidt)

Resolution: worksforme
Status: newclosed

Replying to vallon:

It looks like KeePassXC was built against Qt 5.15.9, and after the upgrade to Qt 5.15.10, KeePassXC was not rebuilt, and it seems there is some compatibility issue.

That's not how I interpret the error, which reads:

Cannot mix incompatible Qt library (5.15.9) with this library (5.15.10)

It is clearly talking about two librarires. It is not talking about the KeePassXC program.

It would be highly unusual for a program to need to be rebuilt just because Qt was updated to a new minor version.

Uninstalled KeePassXC and qt5-* deps (qtbase, qtdeclarative, qtmacextras, qtsvg, qttools). There is nothing "qt5* and installed". Reinstalled KeePassXC, and the application launched.

Since you got everything working by uninstalling and reinstalling, I don't know what else we could do here.

Note: See TracTickets for help on using tickets.