[Bug]: Missing dependencies on debian testing/sid (libqt6gui6t64 / libqt6widgets6t64)
Is there an existing issue for this?
- [x] I have searched the existing issues and did not find a similar issue
This bug exists on the latest available release of DistroAV and supported environment?
- [x] I have checked this bug still exist on the latest available version of DistroAV
- [x] I have checked that my OS / OBS / NDI versions are supported
OBS Log [URL] - Important!
No response
Issue reported - Current Behavior
On OBS startup, DistroAV 6.0.0 asks for update to 6.1.1 but nothing happens, the old version stays installed.
When trying to install distroav-6.1.1-x86_64-linux-gnu.deb using dpkg, I get missing dependency error for libqt6gui6t64 and libqt6widgets6t64 which are virtual packages in Debian testing/sid as the distribution already removed the t64 suffix for these packages after porting them to 64-bit epoch time.
Worked for distroav=6.0.0 as it depends on packages without the t64 suffix.
Expected Behavior
distroav-6.1.1-x86_64-linux-gnu.deb can use libqt6gui6 and libqt6widgets6 as alternative dependencies
Steps To Reproduce
- install debian with KDE Plasma, set sources.list to track testing and sid, update and full-upgrade your system
- install obs-studio
- install distroav = 6.0.0 from deb package (and any of its dependencies), make sure it works
- install distroav = 6.1.1 from deb package
Environment
- OS: Debian testing/sid amd64 with KDE Plasma desktop environment
- OBS: 30.2.3+dfsg-3 from Debian repository
- DistroAV: 6.1.1 installed from deb package
- NDI: 6.0.1
Pre-Check for Bug Report
- [x] I am able to reproduce the bug following the steps provided above
- [x] I have confirmed this bug exist on more than one device/computer
- [ ] I have tested using a new scene collection to reproduce the issue
- [ ] I have tested on a 'clean' OBS installation (aka with no other scripts or plugin installed)
Thanks for reporting, if you have any log file of the package installer that would be helpful.
raw dpkg output (in Polish as that's my locale):
sudo dpkg -i distroav-6.1.1-x86_64-linux-gnu.deb [0] 25-06-17 17:24
(Odczytywanie bazy danych ... 550555 plików i katalogów obecnie zainstalowanych.)
Przygotowywanie do rozpakowania pakietu distroav-6.1.1-x86_64-linux-gnu.deb ...
Rozpakowywanie pakietu distroav (6.1.1) nad (6.0.0) ...
dpkg: problemy z zależnościami uniemożliwiają skonfigurowanie pakietu distroav:
distroav zależy od libqt6gui6t64 (>= 6.1.2); jednakże:
Pakiet libqt6gui6t64 nie jest zainstalowany.
distroav zależy od libqt6widgets6t64 (>= 6.1.2); jednakże:
Pakiet libqt6widgets6t64 nie jest zainstalowany.
dpkg: błąd przetwarzania pakietu distroav (--install):
problemy z zależnościami - pozostawianie nieskonfigurowanego
Wystąpiły błędy podczas przetwarzania:
distroav
distroav depends on libqt6gui6t64 (>= 6.1.2); but libqt6gui6t64 is not installed distroav depends on libqt6widgets6t64 (>= 6.1.2); but libqt6widgets6t64 is not installed left unconfigured
dpkg log:
2025-06-17 17:24:18 upgrade distroav:amd64 6.0.0 6.1.1
2025-06-17 17:24:18 status half-configured distroav:amd64 6.0.0
2025-06-17 17:24:18 status unpacked distroav:amd64 6.0.0
2025-06-17 17:24:18 status half-installed distroav:amd64 6.0.0
2025-06-17 17:24:18 status unpacked distroav:amd64 6.1.1
Thank you, Looking at the dependencies, seems that the OBS-deps are built for Windows & MacOS, we use the following releases : 6.0.0 : https://github.com/obsproject/obs-deps/releases/tag/2024-03-19 6.1.1 : https://github.com/obsproject/obs-deps/releases/tag/2024-09-12
Workaround (temporary)
Can you install it via apt instead of dpkg. ?
apt install ./distroav-6.1.1-x86_64-linux-gnu.deb
if this is still not successful try the following
apt install libqt6widgets6t64 libqt6gui6t64
Please report, which one solved the problem
If nothing works... use the flatpak install !
Finding root cause
Unless you can provide support, none of us in the maintainer team have a debian sid at hand to test. So this is base don available informations.
The missing packages are only available as debport on debian sid : https://packages.debian.org/sid/libqt6widgets6t64 This is because of the ongoing ABI migration for the t64 time_t issue (not related to the plugin)
I digged into the code here and on the obs-studio github and could not find any specific mention of t64 variant being specifically targeted.
But my guess is the following :
- obs-studio plugin ( from obs-plugintemplate, which is the base for distroAV ) build the MacOS & Windows variant from the obs-deps (fixed libqt / prebuilds, etc) based on the obsproject/obs-deps repo.
- The Linux package are built via the actions and do not seems to use the obs-deps.
- The setup script for this is setup_ubuntu which seems to "get the dependencies and install via apt"
- 6.1.1 has been built on Ubuntu (noble) as per : https://github.com/DistroAV/DistroAV/actions/runs/15611855119/job/43974479877
- 6.1.1 does get and install the t64variant of the package (seems to be the new default)
The following additional packages will be installed:
[...]
libqt6core6t64
libqt6dbus6t64 libqt6gui6t64 libqt6network6t64 libqt6opengl6t64 libqt6qml6
libqt6qmlmodels6 libqt6quick6 libqt6svg6 libqt6waylandclient6
libqt6waylandcompositor6 libqt6waylandeglclienthwintegration6
libqt6waylandeglcompositorhwintegration6 libqt6widgets6t64
libqt6wlshellintegration6 libqt6xml6t64 [...]
We will not modify the install script to support an unsupported OS as this is a dependency issue that should be fixed with dependencies check/install.
@keriszafir please report if the workaround works, and we will go with that route :)
workaround 1:
[keri @ w520 ~ ] % env LANGUAGE="en_US.UTF-8" sudo apt install ./distroav-6.1.1-x86_64-linux-gnu.deb
You might want to run 'apt --fix-broken install' to correct these.
Unsatisfied dependencies:
distroav : Depends: libqt6gui6t64 (>= 6.1.2) but it is not installable
Depends: libqt6widgets6t64 (>= 6.1.2) but it is not installable
Error: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
workaround 2:
[keri @ w520 ~ ] % env LANGUAGE="en_US.UTF-8" sudo apt install libqt6widgets6t64 libqt6gui6t64
Package libqt6gui6t64 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libqt6gui6:i386 libqt6gui6
Package libqt6widgets6t64 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libqt6widgets6:i386 libqt6widgets6
package info on dependencies - they're virtual packages
[keri @ w520 ~ ] % env LANGUAGE="en_US.UTF-8" apt show libqt6gui6t64 libqt6widgets6t64
Package: libqt6gui6t64
State: not a real package (virtual)
Package: libqt6widgets6t64
State: not a real package (virtual)
Notice: Can't select candidate version from package libqt6gui6t64 as it has no candidate
Notice: Can't select candidate version from package libqt6widgets6t64 as it has no candidate
Notice: Can't select versions from package 'libqt6gui6t64' as it is purely virtual
Notice: Can't select versions from package 'libqt6widgets6t64' as it is purely virtual
Notice: No packages found
package info on actual libraries which are installed (and which 6.0.0 used as deps):
[keri @ w520 ~ ] % env LANGUAGE="en_US.UTF-8" apt show libqt6gui6 libqt6widgets6
Package: libqt6gui6
Version: 6.8.2+dfsg-6
Priority: optional
Section: libs
Source: qt6-base
Maintainer: Debian Qt/KDE Maintainers <[email protected]>
Installed-Size: 11.6 MB
Depends: fontconfig, libc6 (>= 2.38), libdrm2 (>= 2.4.62), libegl1, libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.11.1), libgcc-s1 (>= 3.0), libglib2.0-0t64 (>= 2.26.0), libglx0, libharfbuzz0b (>= 2.1.1), libice6 (>= 1:1.0.0), libinput10 (>= 1.19.1), libjpeg62-turbo (>= 1.3.1), libmd4c0 (>= 0.2.7), libmtdev1t64 (>= 1.0.8), libopengl0, libpng16-16t64 (>= 1.6.46), libqt6core6t64 (>= 6.8.2), libqt6dbus6 (>= 6.8.2), libsm6 (>= 2:1.2.6), libstdc++6 (>= 12), libts0t64 (>= 1.15), libudev1 (>= 183), libx11-6, libx11-xcb1, libxcb-cursor0 (>= 0.0.99), libxcb-glx0, libxcb-icccm4 (>= 0.4.2), libxcb-image0 (>= 0.2.1), libxcb-keysyms1 (>= 0.4.1), libxcb-randr0 (>= 1.12), libxcb-render-util0, libxcb-render0, libxcb-shape0, libxcb-shm0 (>= 1.10), libxcb-sync1, libxcb-xfixes0, libxcb-xinput0 (>= 1.17.0), libxcb-xkb1, libxcb1 (>= 1.8), libxkbcommon-x11-0 (>= 0.5.0), libxkbcommon0 (>= 0.5.0), qt6-base-private-abi (= 6.8.2), zlib1g (>= 1:1.1.4)
Recommends: qt6-gtk-platformtheme, qt6-qpa-plugins, qt6-svg-plugins, qt6-wayland
Breaks: libqt6gui6t64 (<< 6.8.2+dfsg-6), qt6-qpa-plugins (<< 6.3.1+dfsg-6~)
Replaces: libqt6gui6t64, qt6-qpa-plugins (<< 6.3.1+dfsg-6~)
Homepage: https://www.qt.io/developers/
Tag: role::shared-lib
Download-Size: 3,151 kB
APT-Manual-Installed: no
APT-Sources: http://ftp.icm.edu.pl/pub/Linux/debian testing/main amd64 Packages
Description: Qt 6 GUI module
Qt is a cross-platform C++ application framework. Qt's primary feature
is its rich set of widgets that provide standard GUI functionality.
.
The QtGui module extends QtCore with GUI functionality.
Package: libqt6widgets6
Version: 6.8.2+dfsg-6
Priority: optional
Section: libs
Source: qt6-base
Maintainer: Debian Qt/KDE Maintainers <[email protected]>
Installed-Size: 8,817 kB
Depends: libc6 (>= 2.35), libqt6core6t64 (>= 6.8.2), libqt6gui6 (>= 6.8.2), libstdc++6 (>= 12), qt6-base-private-abi (= 6.8.2)
Breaks: libqt6widgets6t64 (<< 6.8.2+dfsg-6)
Replaces: libqt6widgets6t64
Homepage: https://www.qt.io/developers/
Tag: role::shared-lib
Download-Size: 2,641 kB
APT-Manual-Installed: no
APT-Sources: http://ftp.icm.edu.pl/pub/Linux/debian testing/main amd64 Packages
Description: Qt 6 widgets module
Qt is a cross-platform C++ application framework. Qt's primary feature
is its rich set of widgets that provide standard GUI functionality.
.
The QtWidgets module extends QtGui with C++ widget functionality.
Thanks for the logs.
I checked again the build script, and we build the same way as OBS. Fact that the t64 packages exist in Ubuntu, but not debian (yet) is surprising.
As the plugin is built on Ubuntu (24.04 for now) and the t64 variants are the one provided with the system (at least with apt--upgrade) this cannot be changed.
Have you tried using the Flatpak Install instead?
My skills for debugging & solving this are maxed out, if you have a good idea on how to fix it, let us know.
Truth be told.. as much as I love Debian they do have quite the outdated packages even in their testing release. Compiling from source in many situations isn't viable. In these situation I'd recommend as well using Flatpak.
Ubuntu 24.04 has been much more solid for what I've noticed.. without counting the issues the snaps can have. Even Fedora has been much better in my opinion for DistroAV and OBS releases being up to date.
Thanks for the logs.
I checked again the build script, and we build the same way as OBS. Fact that the t64 packages exist in Ubuntu, but not debian (yet) is surprising.
As the plugin is built on Ubuntu (24.04 for now) and the t64 variants are the one provided with the system (at least with apt--upgrade) this cannot be changed.
Have you tried using the Flatpak Install instead?
My skills for debugging & solving this are maxed out, if you have a good idea on how to fix it, let us know.
More like "not anymore" in Debian. The t64 suffix was discarded after the modernized (ie with 64-bit epoch time support) packages were accepted as the main version.
I'll look into Flatpak (though I have no experience with it), or do a local workaround to create re-transitional dummy packages with t64 suffixed names to satisfy the dependencies.
Truth be told.. as much as I love Debian they do have quite the outdated packages even in their testing release.
This is hardly the issue here.
Ubuntu 24.04 has been much more solid for what I've noticed.. without counting the issues the snaps can have. Even Fedora has been much better in my opinion for DistroAV and OBS releases being up to date.
Debian stable is solid. What you don't account for is exceptional changes such as the package name change which is the root cause here.
For the record, Ubuntu is mostly based off of Debian testing/unstable.
Debian stable is solid. What you don't account for is exceptional changes such as the package name change which is the root cause here.
For the record, Ubuntu is mostly based off of Debian testing/unstable.
The builds of DistroAV target and are built for Ubunu stable releases. As it's been mentioned within https://github.com/exeldro/obs-source-profiler/issues/19 , the missing package hasn't been replaced until Ubuntu 25.04 which I believe that is another 6-7 month release ?
Builds don't target Debian testing. As you can read within the readme, the current release of DistroAV requires obs 31.0.0 or higher, which Debian sid only provides up to 30.2.3 unless you compile it yourself or use Flatpak as it's been mentioned several times.
That being said this isn't the place for a petty argument about what is what.
This issue can stay open until there is a resolution by either upstream or suggested PR or on the distro packages lists.
This project have limited resources, if you have a solution, please submit a PR for it.
Link back to the main explanation / investigation : https://github.com/DistroAV/DistroAV/issues/1299#issuecomment-2981029498
Statement on why we cannot fix it (for now):
We will not modify the install script to support an unsupported OS variant as this is a dependency issue that should be fixed with dependencies check/install.
If there is an easy fix, we will consider, but this will be needed to be submitted as a PR :)
My bad, I should have made myself clear.
The builds of DistroAV target and are built for Ubunu stable releases.
Never said otherwise.
As it's been mentioned within exeldro/obs-source-profiler#19 , the missing package hasn't been replaced until Ubuntu 25.04 which I believe that is another 6-7 month release ?
Indeed, 6 months, for 25.10 release. Meaning, this issue is not quite about Debian, which is what I poorly tried to convey in my previous comment, but about the fact that it's going to affect Ubuntu at some point. Which is also why I said that it was hardly the issue.
Builds don't target Debian testing.
Again, never said or implied otherwise.
As you can read within the readme, the current release of DistroAV requires obs 31.0.0 or higher, which Debian sid only provides up to 30.2.3 unless you compile it yourself or use Flatpak as it's been mentioned several times.
I know, I don't know why you have to answer that way since I, again, never said otherwise.
That being said this isn't the place for a petty argument about what is what.
Since not only you started with that "petty argument" and yet, you're still missing the point, I'm going to explain again: while my previous comment was poorly written, the thing is that it's just a question of time before Ubuntu is affected, the official support Linux distribution, as you kept mentioning it.
Explaining your feelings towards Debian and Ubuntu here won't change this.
Hope I've been clearer.
Edit: The Flatpak version presents other drawbacks (e.g. the Flatpak runtime OBS uses is too old for some hardware).
Edit #2: I double-checked, and even Ubuntu 25.04 is already using the new naming scheme (without t64) ; I am confused now. I guess OBS aimed for Ubuntu 24.10 LTS for its dependencies, maybe via the Github CI runner.
Edit #3: So, I checked and the OBS project targets 24.04, hence the issue in the first place. I guess people using OBS on Ubuntu uses the LTS version (or the Flatpak). So, the issue will solve itself, when the OBS project will change its way of building the Ubuntu package.
Statement on why we cannot fix it (for now):
We will not modify the install script to support an unsupported OS variant as this is a dependency issue that should be fixed with dependencies check/install.
If there is an easy fix, we will consider, but this will be needed to be submitted as a PR :)
I understand, and there is no easy fix given how the project build the binaries, especially if the script cannot be modified. ;)
That being said, the issue should already be present on Ubuntu 25.04, and, as you mentioned, should be changed upstream, since you're taking the dependencies/targets from OBS.
Correct. Thanks for flagging this could impact on future version.
The next Ubuntu LTS (used as the CI runner) is still ~9 months away and most of the packages are excepted to be aligned by then.
One can modify the build script and/or compile directly on Debian Sid. The change required to make it work on the main project requires modifications to the build script & Github CI runner. The project does not plan to modify this as we stick as close to upstream as possible.
As this issue will not be addressed, we will close it.
Note : It might be referenced in a future Issue if more distros are impacted.
DistroAV on Fedora 42 KDE never updates and is continually trying to refresh version 6.1.1.
DistroAV on Fedora 42 KDE never updates and is continually trying to refresh version 6.1.1.
The contribution to Fedora DistroAV comes from a third party and last time I checked it was updated. You should check it's not something wrong with your distro installation.
That being said this isn't the thread for it. Create a new one if the issue persists.
Hi there! I'm the project leader of Ubuntu Studio, and am an Ubuntu MOTU (Master-Of-The-Universe); essentially a high-up packager for Ubuntu.
I was looking for where to fix this problem and couldn't find the relevant source for your debian/control file which specifies the dependencies.
At any rate, regardless of the issue, the *t64 packages were only created to temporarily fix the Year 2038 problem until the fix code could be put in the upstream. This has since been dealt with, hence all of the packages that had this suffix have been reverted to their previous names. This happened in Debian first as Debian Trixie had not yet been released., However, since Ubuntu 24.04 is a Stable Release, it will not be changed there.
That said, for the packages in question (libqt6gui6t64 and libqt6widgets6t64), this is an extremely easy fix to maintain compatibility with both Debian Trixie and Ubuntu 24.04, as well as future versions of Ubuntu including the recently-released 25.10 upon which Resolute Racoon (the future Ubuntu 26.04 LTS) is being built, it's as simple as (somehow) modifying the Depends line to be similar to as follows:
Depends: libqt6gui6t64 (>=6.1.2) | libqt6gui6 (>=6.1.2), libqt6widgets6t64 (>=6.1.2) | libqt6widgets6 (>=6.1.2)
I don't know which file needs the change, but if you can point me to it I'd be happy to do it myself and submit a pull request. :)
These should be looked in to. @paulpv @Trouffman @BitRate27
In the cmake/linux/defaults.cmake at line 20, is where you could add your dependencies:
eg. set(CPACK_DEBIAN_PACKAGE_DEPENDS "obs-studio (>= 28.0.0), other-package (>= version)")
Is that what you are looking for @eeickmeyer ?
All I'm seeing at line 20 is
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
This may very well be where it's getting the information from, or at least determining its information, but it has no granular control and doesn't take into account the "or" factor (the | in the Depends line would do that).
https://github.com/DistroAV/DistroAV/blob/deeb179a7fc434f66e40a1d1184bec6a77697160/cmake/linux/defaults.cmake#L20
What I'm seeing in the package that gets built is this:
Depends: libc6 (>= 2.34), libcurl4t64 (>= 7.16.2), libgcc-s1 (>= 3.0), libqt6core6t64 (>= 6.4.0), libqt6gui6t64 (>= 6.1.2), libqt6widgets6t64 (>= 6.1.2), libstdc++6 (>= 11), obs-studio
This needs to somehow be changed to this:
Depends: libc6 (>= 2.34), libcurl4t64 (>= 7.16.2) | libcurl4 (>= 7.16,2), libgcc-s1 (>= 3.0), libqt6core6t64 (>= 6.4.0) | libqt6core6 (>= 6.4.0), libqt6gui6t64 (>= 6.1.2) | libqt6gui6 (>=6.1.2), libqt6widgets6t64 (>= 6.1.2) | libqt6widgets6 (>= 6.1.2), libstdc++6 (>= 11), obs-studio
So, for clarification, if we insert a line in cmake/linux/defaults.cmake with a CPACK_DEBIAN_PACKAGE_DEPENDS variable with the above contents (minus the "Depends:"), would that solve this?
The way I understand the CPACK_DEBIAN_PACKAGE_SHLIBDEPS on setting is that it will detect shared library dependencies by examining the binary. So maybe the solution is to link with newer binaries which do not require the old/temporary ones? Debian and the year 2038 problem is all new to me so I am not much help.
The way I understand the CPACK_DEBIAN_PACKAGE_SHLIBDEPS on setting is that it will detect shared library dependencies by examining the binary.
Yep, that's my understanding as well. It's probably generating the "Depends:" line based on that. Unfortunately, that doesn't leave any room for alternative dependencies, which is what "|" specifies.
It might be that, since we know what it is based on what I found in the actual .deb file (the Depends line I pasted above), maybe we should switch CPACK_DEBIAN_PACKAGE_SHLIBDEPS to off and add this line?:
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.34), libcurl4t64 (>= 7.16.2) | libcurl4 (>= 7.16,2), libgcc-s1 (>= 3.0), libqt6core6t64 (>= 6.4.0) | libqt6core6 (>= 6.4.0), libqt6gui6t64 (>= 6.1.2) | libqt6gui6 (>=6.1.2), libqt6widgets6t64 (>= 6.1.2) | libqt6widgets6 (>= 6.1.2), libstdc++6 (>= 11), obs-studio")
Theoretically, that would give more granular control until one decides to stop supporting Ubuntu 24.04, at which point the package would likely be built against 26.04 in which case the *t64 packages would get dropped anyhow.
Unfortunately that might make a bunch of people still using 24.04 angry that it would break before 24.04 goes ESM in April of 2029 (or even EOL in 2034). Therefore, it might be better to create actual packaging and build the .deb files in a Launchpad PPA at some point, but that is a problem for future distroav. I might be willing to do that part.
I think that is a good approach. Seems the | is a valid syntax, which was surprising to me. Thanks for your help here. Don't hesitate to ask if you need further clarification on build processes.
Therefore, it might be better to create actual packaging and build the .deb files in a Launchpad PPA at some point, but that is a problem for future distroav.
Scratch that. I'm making an official Ubuntu package in the Ubuntu repositories for inclusion in Resolute Raccoon (future 26.04).
@Trouffman could you do your magic and fix the gersemi error introduced by this change to a cmake file?
Found this discussion here after checking the PR.
Gersemi format fixed.
@eeickmeyer feel free to let us know what could be changed to make this easier to maintain on the official package list :D
@eeickmeyer feel free to let us know what could be changed to make this easier to maintain on the official package list :D
Hi @Trouffman !
Really, nothing so far! It was a really easy one for me to package and I did it in less than a day. Our own build system was able to detect the shlibs a different way.
I'll just be monitoring releases from here on out and get the package updated accordingly. That said, with stable releases, once they're released they're pretty much set-in-stone unless there's a nasty bug or a security issue. Therefore, this package, as far as updating it in the official repositories after an Ubuntu release, it would end up in the backports for the LTS release (26.04 in this case).
The only thing that really needs to be done on my end is updating the OBS version in the repos. The folks upstream in Debian haven't updated it since 30, so it needs some love.
The packaging can be found at https://code.launchpad.net/distroav
Great!
We are releasing a new version in the coming days that addresses quite a few bugs.
If that can be the one used it would be awesome!
@eeickmeyer I haven't found a better way so far than create a temporary pre-release to have the exact automated process used to see if this create other problems.
You can find the .deb in the temporay pre-release : https://github.com/DistroAV/DistroAV/releases/tag/6.1.2-beta1
@RayneYoruka if you could confirm you a bunch of your distros as well this will be pretty helpful.
Disclaimer, we will delete/hide this pre-release as soon as the test is complete.
@RayneYoruka if you could confirm you a bunch of your distros as well this will be pretty helpful.
Works fine on x2 Ubuntu 24.04 based machines. About to spin a vm Ubuntu 25.10.
Confirmed, worked fine on Ubuntu 25.10.