Replies: 1 comment
-
Somewhat related is the problem of mixing, at build time, Qt5 and Qt6 libraries. For instance building drumstick with Qt6 and then an application with Qt5, like in this case reported by @marillat. This should be detected at configuration time, and reported with a sensible error message since 914aad9, and this check will be included in v2.8.1 @dvzrv: another AUR user is impacted by this issue in kmetronome. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This has happened to me. I'm developing on my laptop with Fedora 36, and wanted to build some program that is not packaged yet. Say, for instance dmidiplayer or Linux-SonivoxEas. I have already drumstick 2.5 installed system wide from the Fedora repositories...
I use QtCreator to build the latest drumstick with Qt 6.4.0 beta. This build is used when configuring Linux-SonivoxEas assigning it to the CMake variable Drumstick_DIR, so the program is linked to the Qt6 libraries and the latest Drumstick build. When I launch the 'guisynth' program, it crashes with a SIGSEGV - Segmentation fault (core dumped).
QtCreator's run configuration option has a default checkbox with the description 'Add build library search path to LD_LIBRARY_PATH'. This is the cause of the failure. It is using the system drumstick libraries at run-time, which are built with Qt5, instead of the new Qt6-based drumstick libs. After unchecking this box, the program runs normally (CMake adds a RPATH attribute to the compiled programs automatically, so there is no need to use LD_LIBRARY_PATH to locate the shared libraries).
This may happen also without QtCreator, when running Qt6 programs linked to Drumstick libraries for Qt5 with newer versions linked to Qt6. This is not possible. If you use some Qt major version to build the drumstick libraries, then you need to build your programs with the same version. Two sets of drumstick2 libraries compiled with different Qt major versions can't be installed on the same prefix. It is not the same as drumstick0 and drumstick2 libraries, that have different SONAME and can be installed together. In this case, the drumstick2 libraries will have the same SONAME no matter which Qt version you linked.
@cheese : now that Fedora is transitioning Drumstick and friends to Qt6, I hope we remain happy! 🤗
@dvzrv : some AUR users are experiencing this issue with kmidimon.
Beta Was this translation helpful? Give feedback.
All reactions