I am unable to upgrade 17.10 to 18.04 because the installation of
qdbus-qt5 is failing. This is actually kubuntu, but I have asked the question on the kubuntu and ubuntu forums, as well as launchpad, and have not been able to resolve the problem. The upgrade goes fine until it reaches
qdbus-qt5, at which point it crashes and cannot go any further. I tried purging
qbdus-qt5 (and most of kde along with it), and the upgrade goes through, but still cannot install
qbdus-qt5 and therefore kde.
Trying to manually install
dpkg, I get the following error:
root@Crynfyd:/# dpkg -i /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (Reading database ... 839516 files and directories currently installed.) Preparing to unpack .../qdbus-qt5_5.9.5-0ubuntu1_amd64.deb ... Unpacking qdbus-qt5 (5.9.5-0ubuntu1) ... dpkg: error processing archive /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (--install): unable to open '/usr/lib/qt5/bin/qdbus.dpkg-new': No such file or directory Errors were encountered while processing: /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb
Basically it is supposed to be creating the file /usr/lib/qt5/bin/qdbus.dpkg-new , but it is deleting it instead. If I touch the file, it deletes it and quits. Some sort of strange conundrum that I can't get around.
More details in launchpad here:
Any help or ideas much appreciated. Please, no "fresh install", that is impractical and not a solution. I don't really know where the problem is, whether a problem with
dpkg, or whatever else I cannot imagine as others don't seem to be having this problem, and it isn't occurring with other packages (well, it does occur with other
qtcreator packages, but I have purged those before the upgrade). This is a real mess and it is blocking the whole upgrade process.
Ugrade from 17.10 -> 18.04 crashes while trying to install qdbus-qt5. Trying to manually install the package produces this error:
root@Crynfyd:/# dpkg -i /var/cache/apt/archives/qdbus- qt5_5.9.5-0ubuntu1_amd64.deb (Reading database ... 839516 files and directories currently installed.) Preparing to unpack .../qdbus-qt5_5.9.5-0ubuntu1_amd64.deb ... Unpacking qdbus-qt5 (5.9.5-0ubuntu1) ... dpkg: error processing archive /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb (--install): unable to open '/usr/lib/qt5/bin/qdbus.dpkg-new': No such file or directory Errors were encountered while processing: /var/cache/apt/archives/qdbus-qt5_5.9.5-0ubuntu1_amd64.deb
Here is the problem:
In artful, the package qdbus-qt5 installs its binary to /usr/lib/x86_64-linux-gnu/qt5/bin/qdbus . The directory /usr/lib/qt5 is actually a symbolic link to /usr/lib/x86_64-linux-gnu/qt5 . So ls /usr/lib/qt5/bin/ produces a list of files that looks real, but they aren't really there. I noticed that doing a dpkg-query --search /usr/lib/qt5/bin/qdbus produced no results, and wondered why, as the files looked like they were there.
In bionic, the package qdbus-qt5 installs its binary to /usr/lib/qt5/bin/qdbus, and installs a symlink in /usr/lib/x86_64-linux-gnu/qt5/bin/qdbus that points to /usr/lib/qt5/bin/qdbus .
So when trying to upgrade from artful to bionic, the package installs its binary into a directory that is a symlink to /usr/lib/x86_64-linux-gnu/qt5/bin/ and then tries to install the symlink to the file the directory actually points to. I discovered this while trying to manually install the files from the package, and files were just disappearing. This is what dpkg has been screaming about all along.
There is a problem, therefore, in the upgrade process going from which files are symlinks and which are actual binaries. The upgrade process evidently doesn't address this problem. I read somewhere that the upgrade from 16.04 -> 18.04 won't be in place until July; this may be one of the reasons why, and maybe the same problem going from 17.10 -> 18.04. There may be other problems that have not surfaced as of yet.
Note that this same problem also exists for several other packages, mostly connected with QT Creator:
qtcreator qtcreator-data qtcreator-doc qmlscene qt5-qmake qttools5-dev-tools qtbase5-dev-tools
And maybe others I haven't found yet. They can be removed prior to the upgrade, though in my test they did not cause any problems after applying the hack below.
SHAMELESS HACK to fix this for the upgrade:
## Remove the symlink: sudo rm /usr/lib/qt5 ## Do a hard copy of the relevant files: sudo cp -r /usr/lib/x86_64-linux-gnu/qt5 /usr/lib/
I also noticed there is some sort of problem with locales; fix for that:
export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales
Then upgrade/dist-upgrade (or do-release-upgrade, or however you do it). Still needed the occasional apt-get install -f / dpkg --configure -a / dpkg -i --force-overwrite , but seems to go through as expected.
So much for "fresh install".
PS: Thanks to those who offered help. The bit about dpkg -x ing the package, and the bizarre results it produced, is what tipped me on this.