Upgraded to 21.04 and now software (ODADrawingsExplorer) is broken

Keith keith at caramail.com
Thu Jul 8 01:57:24 UTC 2021


On 7/7/21 2:29 PM, Robert Heller wrote:
> I just upgraded my 20.10 VM to 21.04, and now ODADrawingsExplorer won't
> install:
>
> ub202164:~> sudo apt install ./ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> Note, selecting 'odadrawingsexplorer' instead of './ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb'
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> The following information may help to resolve the situation:
>
> The following packages have unmet dependencies:
>   odadrawingsexplorer : PreDepends: qt5-default (>= 5.3.0) but it is not installable
> E: Unable to correct problems, you have held broken packages.
> ub202164:~> sudo apt install qt5-default
> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> Package qt5-default 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
>
> E: Package 'qt5-default' has no installation candidate
>
> Fortunately, I made a backup, so I can revert to 20.10 and just never update
> it, despite its EOL on July 22, but is that my only option?
>
>

No, but you may have to install some QT5 packages manually in order get
all the necessary libraries that the drawing explorer requires.

There's at least a couple or more ways to solve the issue of installing
a package with a missing package dependency. One is to take the deb
package you want to install, extract the program files and control files
to a directory, edit the control file to remove the qt5-default
Pre-depends dependency, and then rebuild the package. You then install
the newly created package.  This is actually easier than it sounds.

Another way is to install the "equivs" package and use the tools to
create a dummy qt5-default package and install that. This is also pretty
easy since all that's needed is a bare-bones Debian package control file
to build the dummy package.

Here's the steps for both methods:
Method 1:
1. cd to directory containing ODA drawing package,
ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb

2. Extract files and control files to /tmp
$ dpkg-deb -R ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb
/tmp/ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6

3. Edit /tmp/ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6/DEBIAN/control
to remove "qt5-default (>= 5.3.0)," from the Pre-depends: line making
sure to keep the spacing the same between the : and "libqt5opengl5".
Save the file.

4. Rebuild package in /tmp
$ dpkg-deb --build /tmp/ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6
/tmp/ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb

5. Install package located in /tmp
$ sudo apt install /tmp/ODADrawingsExplorer_QT5_lnxX64_7.2dll_22.6.deb

Method 2:
1. Install "equivs" package
2. create bare-bones control file for qt5-default dummy package. Name it
"qt5-default.ctl"

--------------cut----------------------
Package: qt5-default
Version: 5.15.2
Architecture: amd64
Depends: qtbase5-dev | qtbase5-gles-dev, qtchooser
Suggests: qt5-qmake, qtbase5-dev-tools
Section: libdevel
Priority: optional
Multi-Arch: same
Description: Qt 5 development defaults package
  Dummy package.
---------------cut-----------------------

3. Build dummy package
$ equivs-build qt5-default.ctl

4. Install dummy qt5-default_5.15.2_amd64.deb
$ sudo apt install ./qt5-default_5.15.2_amd64.deb

5. Install ODA Drawing package (not the rebuilt one from Method1, but
the original).

Recommend using the "-s" option with apt to simulate the install action
before the package files are copied to their locations, and the package
database is updated. Its much easier to fix problems found in simulation
before the changes are committed to the system than afterwards.


Keith




More information about the ubuntu-users mailing list