Overview

Request 1160709 accepted

- Add missing runtime dependency
* Add Requires: qt6-sql-sqlite
- Update to 1.12
* No upstream changelog
- Build with Qt6

The runtime dependency mentioned by Carsten is now added. The problem with libjack0 discussed in the superseded SR is understood and needs no action by musique.

Loading...

Carsten Ziepke's avatar

Hello, thank you for the update. On openSUSE Leap 15.5 this version does not work.
After setting the music folder, the scan starts but nothing shows up.

[unknown] artist id 0 "Dubioza Kolektiv"
[unknown] QSqlQuery::prepare: database not open
...
[unknown] Commit failed!
[unknown] QSqlQuery::exec: database not open
[unknown] QSqlDatabase: QSQLITE driver not loaded
[unknown] QSqlDatabase: available drivers:
[unknown] QSqlDatabasePrivate::addDatabase: duplicate connection name '', old connection removed.

Is there a missing dependency?


Carsten Ziepke's avatar

Ok, this runtime dependency is missing. Could you add
Requires: qt6-sql-sqlite
Thx.


Martin Winter's avatar
author target maintainer

I now tested the package in a fresh distrobox and found that also a

Requires: libjack0

is missing as runtime dependency. What is now best practice here: shall I just add this in an additional "osc ci" to my existing branch or shall I drop this SR and create a new one superseding this here with everything in just one check-in to keep the changelog clean?


Martin Winter's avatar
author target maintainer

Interestingly, if I add "Requires: libjack0" then rpmlint complains: I should rpm let figure this out instead of explicitly requiring it.

musique.x86_64: E: explicit-lib-dependency libjack0
You must let rpm find the library dependencies by itself. Do not put unneeded
explicit Requires: tags.

If I omit this, then libjack0 is not installed as a dependency, however pipewire-libjack-0_3 is installed. libjack0 is however later needed when starting the program.

If I add the Requires: libjack0, then when installing musique libjack0 is installed, but pipewire-libjack-0_3 is not installed.

So what to do?

Edit: I found some posts on the Internet about pipewire-libjack replacing libjack. But some packages (could not figure out which) still seem to insist on using libjack.


Christophe Marin's avatar

was the lack of libjack0 preventing musique from starting?


Martin Winter's avatar
author target maintainer

Yes. I tested again:

  • Build the package without Requires: libjack0
  • Create new distrobox: distrobox enter
  • Install musique: zypper in musique-1.12-0.x86_64.rpm
  • Start musique: musique: error while loading shared libraries: libjack.so.0: cannot open shared object file: No such file or directory
  • Looking for libjack.so.0: rpm -ql pipewire-libjack-0_3 results in
/etc/alternatives/pw-jack
/etc/alternatives/pw-jack.1.gz
/usr/bin/pw-jack
/usr/bin/pw-jack-0.3
/usr/lib64/pipewire-0.3/jack
/usr/lib64/pipewire-0.3/jack/libjack.so.0
/usr/lib64/pipewire-0.3/jack/libjack.so.0.3.1004
/usr/lib64/pipewire-0.3/jack/libjacknet.so.0
/usr/lib64/pipewire-0.3/jack/libjacknet.so.0.3.1004
/usr/lib64/pipewire-0.3/jack/libjackserver.so.0
/usr/lib64/pipewire-0.3/jack/libjackserver.so.0.3.1004
/usr/share/man/man1/pw-jack-0.3.1.gz
/usr/share/man/man1/pw-jack.1.gz
/usr/share/pipewire/jack.conf

So the library is there in /usr/lib64/pipewire-0.3/jack, but the loader seems not to search there. ldconfig -p | grep jack gives no output. I also cannot see any ldconfig configuration file in /etc/ld.so.conf.d.

Note: this all happens in a distrobox, so I don't know whether it is a distrobox problem not correctly updating the ldconfig cache or a pipewire problem not correctly providing the ldconfig configuration.

However it seems that I should move this issue to some other place. What would be the best place to discuss this?

Edit: if I start the application using pw-jack musique then it works! But is this the suggested way to start it?


Christophe Marin's avatar

that would be a pipewire bug then. musique doesn't link to it.

cc @alarrosa


Cor Blom's avatar

Some info from a normal installation: I did test it on TW. When libjack0 itself is installed, it works without problem. When pipewire-libjack-0_3 is installed and libjack0 removed I get the error you have. pw-jack musique also works fine.

I get the same error with qjackctl, so I would file a bug at bugzilla.opensuse.org against pipewire.

BTW: I don't get why musique would need/use jack.


Martin Winter's avatar
author target maintainer

This is already a bug in bugzilla. The explanation starts at comment 8: https://bugzilla.opensuse.org/show_bug.cgi?id=1211926#c8

So for the time being the user has to install pipewire-jack additionally to get the ldconfig configuration file. The bug is still open and I hope there will be a good solution for it. However this is nothing where musique can and should do anything.

It is a transitive dependency which is pulling in libjack. ffmpeg (libavdevice) and libmpv2 are requiring this library.

Request History
Martin Winter's avatar

letsfindaway created request

- Add missing runtime dependency
* Add Requires: qt6-sql-sqlite
- Update to 1.12
* No upstream changelog
- Build with Qt6

The runtime dependency mentioned by Carsten is now added. The problem with libjack0 discussed in the superseded SR is understood and needs no action by musique.


Carsten Ziepke's avatar

Kieltux accepted request

LGTM. Thx.

openSUSE Build Service is sponsored by