Unable to correct problems, you have held broken packages.

New to Debian (Or Linux in general)? Ask your questions here!

Unable to correct problems, you have held broken packages.

Postby r00t87 » 2020-05-05 18:23

Hi all,

I was using riot-web without any error. Today i saw an upgrade when i did sudo apt update and then i tried sudo apt upgrade but i received an error.

Code: Select all
sudo apt install riot-web
Reading package lists... Done
Building dependency tree       
Reading state information... Done
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:
 riot-web : Depends: riot-desktop but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


I couldn't understand what's going on my pc then i did some research on the internet and found "sudo apt dist-upgrade" command. When i did this riot-web is disappeared and icon is lost on the taskbar. Now i am checking riot app but there is no riot-web anymore.

I tried "sudo apt clean", "sudo apt install -f" and "sudo apt clean cache" commands but no luck, didn't work. I can't install riot-web anymore and i wonder also config files are lost or are they exist still on my pc?

Thanks in advance.
r00t87
 
Posts: 10
Joined: 2020-04-19 11:44

Re: Unable to correct problems, you have held broken package

Postby Head_on_a_Stick » 2020-05-05 18:37

If there are dependency problems then you should always post your sources:
Code: Select all
apt policy

r00t87 wrote:sudo apt dist-upgrade

Probably a bad idea...
User avatar
Head_on_a_Stick
 
Posts: 12129
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Unable to correct problems, you have held broken package

Postby arid » 2020-05-05 21:03

Never heard of it so my curiosity got the better of me.

So, if you would like to join Debian and maintain the package, you can use apt.
Code: Select all

Message #27 received at 866502@bugs.debian.org (full text, mbox, reply):
From: Marco Moller <talby@live.de>
To: "866502@bugs.debian.org" <866502@bugs.debian.org>
Subject: how does the riot.im repository then do it?
Date: Wed, 6 Mar 2019 19:06:30 +0000

Hello, and sorry if out of topic, but how is it possible that the
upstream page riot.im can provide the riot-web deb package in their
provided repository?
I don't get how in Debian it should technically not be possible to do
the same as upstream. And isn't it possible to simply invite them /guide
them / help them to become an official Debian package maintainer, so
that they can provide riot-web themselves in Debian?
Talby.

Message #32 received at 866502@bugs.debian.org (full text, mbox, reply):
From: Jonas Smedegaard <dr@jones.dk>
To: 866502@bugs.debian.org
Cc: Marco Moller <talby@live.de>
Subject: Re: how does the riot.im repository then do it?
Date: Thu, 24 Oct 2019 20:42:48 +0200

[Message part 1 (text/plain, inline)]

Hi Talby,

Marco wrote:
> Hello, and sorry if out of topic, but how is it possible that the
> upstream page riot.im can provide the riot-web deb package in their
> provided repository?
> I don't get how in Debian it should technically not be possible to do
> the same as upstream. And isn't it possible to simply invite them
> /guide them / help them to become an official Debian package
> maintainer, so that they can provide riot-web themselves in Debian?

A "Debian package" can mean either a package installable into a Debian
system, or a package releasable with Debian itself.

Creating a .deb file installable into a Debian system requires little
more than making a tarball or a zip file (if upstream build routines are
sensible).

Creating a package that follows Debian Policy and is maintained as part
of Debian requires more than that - some of it pointed out in previous
posts to this bugreport.

I don't say this to diminish the effort done by upstream in providing a
.deb package: That is nice, and a help for those who decide to trust
upstream in not only creating and maintaining their own project but also
in creating and mainting install routines executed as root on the target
systems.

Anyone - you and upstream too - are welcome to join Debian and maintain
packages to be integrated with Debian officially.  It does _not_ require
you to go through any special process to become "members of Debian", you
can simply request to join e.g. the Matrix team and start helping out. 
More information at https://wiki.debian.org/Matrix - and more generally
There's no drama in my sid......
arid
 
Posts: 85
Joined: 2014-05-08 18:40
Location: Aridzona

Re: Unable to correct problems, you have held broken package

Postby sunrat » 2020-05-05 23:36

riot-web and riot-desktop do not appear to be Debian official packages. Post
Code: Select all
apt policy
“ computer users can be divided into 2 categories:
Those who have lost data
...and those who have not lost data YET ”
Remember to BACKUP!
User avatar
sunrat
 
Posts: 3086
Joined: 2006-08-29 09:12
Location: Melbourne, Australia

Re: Unable to correct problems, you have held broken package

Postby r00t87 » 2020-05-06 07:59

apt policy output

Code: Select all
 100 /var/lib/dpkg/status
     release a=now
 500 https://packages.riot.im/debian buster/main amd64 Packages
     release o=riot.im,a=stable,n=buster,c=main,b=amd64
     origin packages.riot.im
 500 http://deb.debian.org/debian buster-updates/main amd64 Packages
     release o=Debian,a=stable-updates,n=buster-updates,l=Debian,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian-security buster/updates/main amd64 Packages
     release v=10,o=Debian,a=stable,n=buster,l=Debian-Security,c=main,b=amd64
     origin deb.debian.org
 500 http://deb.debian.org/debian buster/main amd64 Packages
     release v=10.3,o=Debian,a=stable,n=buster,l=Debian,c=main,b=amd64
     origin deb.debian.org
Pinned packages:
r00t87
 
Posts: 10
Joined: 2020-04-19 11:44

Re: Unable to correct problems, you have held broken package

Postby sunrat » 2020-05-06 08:21

OK so you've added a repository for riot. That should supply the packages you are trying to install. Show us
Code: Select all
apt policy riot-web riot-desktop
“ computer users can be divided into 2 categories:
Those who have lost data
...and those who have not lost data YET ”
Remember to BACKUP!
User avatar
sunrat
 
Posts: 3086
Joined: 2006-08-29 09:12
Location: Melbourne, Australia

Re: Unable to correct problems, you have held broken package

Postby r00t87 » 2020-05-06 08:30

sunrat wrote:OK so you've added a repository for riot. That should supply the packages you are trying to install. Show us
Code: Select all
apt policy riot-web riot-desktop


Code: Select all
apt policy riot-web riot-desktop
riot-web:
  Installed: (none)
  Candidate: 1.6.0
  Version table:
     1.6.0 500
        500 https://packages.riot.im/debian buster/main amd64 Packages
     1.5.15 -1
        100 /var/lib/dpkg/status
riot-desktop:
  Installed: (none)
  Candidate: 1.6.0
  Version table:
     1.6.0 500
        500 https://packages.riot.im/debian buster/main amd64 Packages
r00t87
 
Posts: 10
Joined: 2020-04-19 11:44

Re: Unable to correct problems, you have held broken package

Postby kedaha » 2020-05-06 10:03

r00t87 wrote:Hi all,
Code: Select all
sudo apt install riot-web

[snip...]I can't install riot-web anymore and i wonder also config files are lost or are they exist still on my pc?

Before doing this the following steps are necessary:
Code: Select all
# wget -O /usr/share/keyrings/riot-im-archive-keyring.gpg https://packages.riot.im/debian/riot-im-archive-keyring.gpg
 # apt install -y lsb-release apt-transport-https
 # apt update
 # echo "deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] https://packages.riot.im/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/riot-im.list

apt install riot-web is the wrong way to go about it because, as the following command shows, "riot-web is a transitional package which can safely be deleted once riot-desktop is installed."
Code: Select all
$ apt-cache show riot-web
Package: riot-web
Version: 1.6.0
Architecture: all
Maintainer: support@riot.im
Installed-Size: 9
Depends: riot-desktop
Multi-Arch: foreign
Homepage: https://about.riot.im
Priority: extra
Section: net
Filename: pool/main/r/riot-web/riot-web_1.6.0_all.deb
Size: 2176
SHA256: c01516a16fc210497be1f056403c1c18571b812fd5b7830dc5e0e79c13cc8c46
SHA1: 458ad8e635c3eb702f8128480576020d71212637
MD5sum: c1a86ce2683b95bdeabb40473d3e8bfa
Description: feature-rich client for Matrix.org - transitional package
 This package can be safely deleted once riot-desktop is installed.
Description-md5: 02e4cc415525947ce3c9c4f4d7b7064e

On the other hand, as the next command shows, the package riot-desktop, which conflicts with riot-web, replaces it.
Code: Select all
$ apt-cache show riot-desktop
Package: riot-desktop
License: Apache-2.0
Vendor: support@riot.im
Architecture: amd64
Maintainer: support@riot.im
Depends: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libappindicator3-1, libsecret-1-0, libsqlcipher0
Provides: riot-web
Conflicts: riot-web
Replaces: riot-web
Homepage: https://riot.im/
Priority: extra
Section: net
Filename: pool/main/r/riot-desktop/riot-desktop_1.6.0_amd64.deb
Size: 61359510
SHA256: d768b227f916ef42aae46114340189349e1015516cb1ef16c2c0ec07efba5ca3
SHA1: 4a737ed337c71f2a50add695228ea5ecd04d6e57
MD5sum: 0c1dc45b093ee42101c6d32ac3e81e82
Description: A feature-rich client for Matrix.org
Description-md5: b73e630cc42c1341b7bf3e0d9cdde578
Version: 1.6.0

Therefore the right command to install riot, which I have simulated by appending -s to the command, is:
Code: Select all
# apt install riot-desktop

This results in:
Code: Select all
$ apt install -s riot-desktop
NOTE: This is only a simulation!
      apt needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libsqlcipher0
The following NEW packages will be installed:
  libsqlcipher0 riot-desktop
0 upgraded, 2 newly installed, 0 to remove and 38 not upgraded.
Inst libsqlcipher0 (3.4.1-1+b12 Debian:10.3/stable [amd64])
Inst riot-desktop (1.6.0 stable [amd64])
Conf libsqlcipher0 (3.4.1-1+b12 Debian:10.3/stable [amd64])
Conf riot-desktop (1.6.0 stable [amd64])

Similarly, using aptitude results in:
Code: Select all
# aptitude -s install riot-desktop
The following NEW packages will be installed:
  libsqlcipher0{a} riot-desktop
0 packages upgraded, 2 newly installed, 0 to remove and 38 not upgraded.
Need to get 61.8 MB of archives. After unpacking 939 kB will be used.

Note: Using 'Simulate' mode.
Do you want to continue? [Y/n/?] Y
Would download/install/remove packages
"Please accept my resignation. I don’t care to belong to any club that will have me as a member".—Groucho Marx
User avatar
kedaha
 
Posts: 3102
Joined: 2008-05-24 12:26

Re: Unable to correct problems, you have held broken package

Postby r00t87 » 2020-05-06 10:26

I tried to install riot-desktop and installed now. Thanks for the info
r00t87
 
Posts: 10
Joined: 2020-04-19 11:44

Re: Unable to correct problems, you have held broken package

Postby kedaha » 2020-05-06 10:29

You're welcome. :)
You hadn't held broken packages after all. :wink:
"Please accept my resignation. I don’t care to belong to any club that will have me as a member".—Groucho Marx
User avatar
kedaha
 
Posts: 3102
Joined: 2008-05-24 12:26


Return to Beginners Questions

Who is online

Users browsing this forum: No registered users and 9 guests

fashionable