qdbus needs qtchooser dependency to work

Bug #1177823 reported by Patola on 2013-05-08
This bug affects 19 people
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)

Bug Description

If the system does not have ubuntu-sdk installed, any qdbus command does not work, e.g.

[10:49] [2372] [patola@nexus7 patola]% qdbus
qdbus: could not find a Qt installation of ''
[10:49] [2373] [patola@nexus7 patola]% qdbus --help
qdbus: could not find a Qt installation of ''
[10:50] [2374] [patola@nexus7 patola]% qdbus org.freedesktop.DBus
qdbus: could not find a Qt installation of ''

I am not sure if it is anything specific to qt5-default or its dependencies. I tried to install only qttools5-dev-tools and qt5-default so that it would use qtchooser as qdbus, but it didn't work. I had to install the whole ubuntu-sdk.

Tested on a Nexus7 and Chromebook Series 3 with Chrubuntu, both armhf, but I guess this is also valid for the Intel architecture.

root@nexus7:~# lsb_release -rd
Description: Ubuntu 13.04
Release: 13.04

[11:09] [2388] [patola@nexus7 patola]% qdbus org.freedesktop.DBus /
signal void org.freedesktop.DBus.NameAcquired(QString)
signal void org.freedesktop.DBus.NameLost(QString)
signal void org.freedesktop.DBus.NameOwnerChanged(QString, QString, QString)
method void org.freedesktop.DBus.AddMatch(QString)
method QByteArray org.freedesktop.DBus.GetAdtAuditSessionData(QString)
method QByteArray org.freedesktop.DBus.GetConnectionSELinuxSecurityContext(QString)
method uint org.freedesktop.DBus.GetConnectionUnixProcessID(QString)
method uint org.freedesktop.DBus.GetConnectionUnixUser(QString)
method QString org.freedesktop.DBus.GetId()
method QString org.freedesktop.DBus.GetNameOwner(QString)
method QString org.freedesktop.DBus.Hello()
method QStringList org.freedesktop.DBus.ListActivatableNames()
method QStringList org.freedesktop.DBus.ListNames()
method QStringList org.freedesktop.DBus.ListQueuedOwners(QString)
method bool org.freedesktop.DBus.NameHasOwner(QString)
method uint org.freedesktop.DBus.ReleaseName(QString)
method void org.freedesktop.DBus.ReloadConfig()
method void org.freedesktop.DBus.RemoveMatch(QString)
method uint org.freedesktop.DBus.RequestName(QString, uint)
method uint org.freedesktop.DBus.StartServiceByName(QString, uint)

ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: qdbus 4:4.8.4+dfsg-0ubuntu9
Uname: Linux 3.1.10-10-nexus7 armv7l
ApportVersion: 2.9.2-0ubuntu8
Architecture: armhf
Date: Wed May 8 10:57:09 2013
InstallationDate: Installed on 2013-03-15 (54 days ago)
InstallationMedia: Ubuntu Raring Ringtail (development branch) - armhf (20130314-15:12)
MarkForUpload: True
SourcePackage: qt4-x11
UpgradeStatus: No upgrade log present (probably fresh install)

Patola (patola) wrote :
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qt4-x11 (Ubuntu):
status: New → Confirmed
Dmitry Shachnev (mitya57) wrote :

This was fixed in this commit: http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qt4-x11.git;a=commitdiff;h=c5570ef5727, so will be fixed in the next Debian merge (we are working on it).

summary: - qdbus needs dependency ubuntu-sdk to work
+ qdbus needs qtchooser dependency to work
Murz (murznn) wrote :

qtchooser dependency is not help, after installing I got on fresh Kubuntu 13.04 this error too:
 qdbus: could not find a Qt installation of ''
Installing qt4-default package solve the problem for me.

Dmitry Shachnev (mitya57) wrote :

We are definitely not going to make qt4 default (as we are trying to port everything to qt5), but we can suggest virtual "qt-default" package.

Without qt-default package you can use "QT_SELECT=qt4 qdbus" or even (in 4.8.5 packages) "qdbus -qt4".

TeXHaPb (staryx) wrote :

Also libqt4-dev needed to make qt4-default works.

Götz Christ (g-christ) wrote :

With qt4-default installed (13.04) it still doesn't work.

$ qdbus
qdbus: could not open config file '/usr/share/qtchooser//default.conf': No such file or directory

I don't know what the // means, but the /usr/share/qtchooser/default.conf link points to a non-existing qt4.conf.

/usr/share/qtchooser/default.conf -> qt4.conf

How can I use qdbus or qtconfig?

kodx (kodx) wrote :

Confirm this bug on Ubuntu 13.04
After installing qt4-dev-tools strated to work (as mentioned before). But this is not how it should be. qdbus (and other qt tools) have to work without any development dependencies.

Gannet (ken20001) wrote :

lsb_release -rd
Description: Ubuntu Saucy Salamander (development branch)
Release: 13.10

The same problem.

Mephisto861 (rcaez) wrote :

change target of sym.link "/usr/bin/qdbus" from "qtchooser" to "/usr/lib/i386-linux-gnu/qt4/bin/qdbus" (for 32bit)... and TA-DAAA qdbus call is now reenable.

(For 64bit point the sym.link to "/usr/lib/x86_64-linux-gnu/qt4/bin/qdbus".This temporary solution prevents qdbus to invoke bugged qtchooser and calls directly qt4's qdbus bin.

If u want use qt5 i think u must find in "/usr/lib/x86_64-linux-gnu/qt5/bin/ " the right binary for qdbus but iI do not know, have not tried with QT5

Tested on kubuntu 13.04 but but should be fine on ubuntu 13.04 and all derived afflicted by the bug .
However, the problem stems from qtchooser executable. I hope will be resolved soon

...sorry for my poor english... i'm ITALIAN

Mephisto861 (rcaez) wrote :

TEMPORARY FIX should be fine also in 13.10

Amadu (amadu80) wrote :

sudo apt-get install qt5-default qttools5-dev-tools works for me

My workaround:
+ Use qtchooser to list all available Qt versions:
qtchooser -list-versions
+ Add this line to ~/.bashrc
export QT_SELECT=qt5 # this depends on what you have from previous command)
Log out then log in, or:
source ~/.bashrc

Shriramana Sharma (jamadagni) wrote :

Confirming solution in comment #13 works for me...

Oded Arbel (oded-geek) wrote :

Problem still exists in Zesty, confirming herophuong93 workaround works for me.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers