Can't install libsdl2-dev / Broken Packages

Please Help me install libsdl2-dev

OS: Parrot OS 5.0 (Electro Ara) x86_64
Kernel: 5.16.0-12parrot1-amd64
CPU: 11th Gen Intel i7-11700 (16) @ 4.800GHz

Description:

I just downloaded the latest version of Parrot Os, and it was amazing.
but when I tried to install libsdl2-dev package it threw me this error.
I surfed the internet and tried different methods of fixing ‘held broken packages’, but NONE of them seemed to work.

IMPORTANT DETAILS:

It seems that libsdl2-dev depends on a libudev-dev , which depends on libudev1 version 247.3-7 , but the 250.4-1 is installed.

So when none of the solutions I found on internet worked I came up with something on my own.
I downgraded libudev1 to 247.3-7 and BOOM! the held broken packages error was gone, but i still couldn’t install libsdl2-dev and apt was throwing other errors.
So I thought maybe I should reboot and after that the OS was not booting at all and all the options but system setup* in GRUB menu were gone.

So i was forced to reinstall the same OS.

┌─[root@wisebits]─[/home/yolo]
└──╼ #apt install libsdl2-dev
Reading package lists... Done
Building dependency tree... Done
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:
 libudev-dev : Depends: libudev1 (= 247.3-7) but 250.4-1~bpo11+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Seems fine here. Make sure you do sudo apt update first. If it does’nt work, you can try check the package from branches.

└╼dmknght$sudo apt install libsdl2-dev
[sudo] password for dmknght: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  libduktape205
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  gir1.2-ibus-1.0 libasound2-dev libibus-1.0-dev libpulse-dev libsndio-dev
  libxss-dev libxv-dev libxxf86vm-dev x11proto-scrnsaver-dev
  x11proto-xf86vidmode-dev
Suggested packages:
  libasound2-doc
The following NEW packages will be installed:
  gir1.2-ibus-1.0 libasound2-dev libibus-1.0-dev libpulse-dev libsdl2-dev
  libsndio-dev libxss-dev libxv-dev libxxf86vm-dev x11proto-scrnsaver-dev
  x11proto-xf86vidmode-dev
0 upgraded, 11 newly installed, 0 to remove and 20 not upgraded.
Need to get 2,346 kB/2,579 kB of archives.
After this operation, 14.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

As you can see i was root.
Did you read the IMPORTANT DETAILS section?
I expected a much more professional answer from a “parrot dev”

And i expected user who has a brain.

Did I say you need to use root or any shit like that?

Did you read this? Make sure you do sudo apt update first. If it does’nt work, you can try check the package from branches.. I bet you don’t fucking know what does that fucking mean, right?

Verified on new install of Parrot Security 5.1 after sudo parrot-upgrade. At least on the U.S. repo mirrors I’m grabbing from.

┌─[masmer@nsa]─[~]
└──╼ $sudo apt install libsdl2-dev
[sudo] password for masmer: 
Reading package lists... Done
Building dependency tree... Done
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:
 libudev-dev : Depends: libudev1 (= 247.3-7) but 250.4-1~bpo11+1 is to be installed
E: Unable to correct problems, you have held broken packages.
┌─[✗]─[masmer@nsa]─[~]
└──╼ $uname -a
Linux nsa.org 5.16.0-12parrot1-amd64 #1 SMP PREEMPT Debian 5.16.12-2parrot1 (2022-03-11) x86_64 GNU/Linux
┌─[masmer@nsa]─[~]
└──╼ $cat /etc/*release
PRETTY_NAME="Parrot OS 5.0 (Electro Ara)"

Try with parrot-backports branch. If the problem is still there, I’ll tell Palinuro to check it.
P/s: Just installed here. And the packages are on parrot main.

I see nothing wrong with @dmknght’s response. He asked if you did an apt update, whether by sudo or root.

I’m wondering if my words vanished LuL

I did both of them and I mentioned in my post:

I surfed the internet and tried different methods of fixing ‘held broken packages’, but NONE of them seemed to work.

And even I know that when a package you want to install Depends on another Package that is missing and can’t be installed, IT DOESN’T MATTER WHERE YOU INSTALL IT FROM, you will get the held broken packages anyway.

But you were having too much of an EGO BOOST to even notice that. But I doubt it, You definitely don’t know what you are doing, and I’m pretty much surprised why you are in The Parrot Team.
Do you think it is a joke?
You think you can get away with cursing people like that???

And i expected user who has a brain.

Did I say you need to use root or any shit like that?

I bet you don’t fucking know what does that fucking mean, right?

I am a new user in Parrot OS which claims to be USER FRIENDLY, and this is how you treat me AS HOST.

Parrot Os might be A PIECE OF ART but Your community is super unfriendly and ABSOLUTELY SUCKS

I WILL DEFINITELY FILE A REPORT OF THIS VERBAL ABUSE.

I have/had all the unique repos enabled, including parrot-backports. Thanks!

deb https://deb.parrot.sh/parrot/ parrot-backports main contrib non-free

Can u do cd /var/lib/apt/lists/ && grep -r "Date: "? I want to compare mirror sync before reporting.
p/s: Mine is 14 May 2022 on all branches.
p/s2: The main repository is having last update 14 May 2022 as well.

Also, if needed:


┌─[masmer@nsa]─[/var/lib/apt/lists]
└──╼ $cd /var/lib/apt/lists/ && ls -la

-rw-r--r-- 1 root root    14299 May 13 16:29 deb.parrot.sh_direct_parrot_dists_parrot-security_InRelease
-rw-r--r-- 1 root root  1393826 May 13 16:29 deb.parrot.sh_direct_parrot_dists_parrot-security_main_binary-amd64_Packages
-rw-r--r-- 1 root root   399673 May  2 11:20 deb.parrot.sh_parrot_dists_lts_contrib_binary-amd64_Packages
-rw-r--r-- 1 root root    14609 May 14 08:47 deb.parrot.sh_parrot_dists_lts_InRelease
-rw-r--r-- 1 root root 67894936 May 14 08:47 deb.parrot.sh_parrot_dists_lts_main_binary-amd64_Packages
-rw-r--r-- 1 root root   987922 May  9 17:09 deb.parrot.sh_parrot_dists_lts_non-free_binary-amd64_Packages
-rw-r--r-- 1 root root    60238 May 10 08:32 deb.parrot.sh_parrot_dists_parrot-backports_contrib_binary-amd64_Packages
-rw-r--r-- 1 root root    14522 May 14 08:58 deb.parrot.sh_parrot_dists_parrot-backports_InRelease
-rw-r--r-- 1 root root  2894342 May 14 08:58 deb.parrot.sh_parrot_dists_parrot-backports_main_binary-amd64_Packages
-rw-r--r-- 1 root root   127000 Mar 15 10:27 deb.parrot.sh_parrot_dists_parrot-backports_non-free_binary-amd64_Packages
-rw-r--r-- 1 root root   399673 May  2 11:20 deb.parrot.sh_parrot_dists_parrot_contrib_binary-amd64_Packages
-rw-r--r-- 1 root root    14609 May 14 08:47 deb.parrot.sh_parrot_dists_parrot_InRelease
-rw-r--r-- 1 root root 67894936 May 14 08:47 deb.parrot.sh_parrot_dists_parrot_main_binary-amd64_Packages
-rw-r--r-- 1 root root   987922 May  9 17:09 deb.parrot.sh_parrot_dists_parrot_non-free_binary-amd64_Packages
-rw-r--r-- 1 root root   399673 May  2 10:39 deb.parrot.sh_parrot_dists_parrot-updates_contrib_binary-amd64_Packages
-rw-r--r-- 1 root root    14642 May 14 08:47 deb.parrot.sh_parrot_dists_parrot-updates_InRelease
-rw-r--r-- 1 root root 67895521 May 14 08:47 deb.parrot.sh_parrot_dists_parrot-updates_main_binary-amd64_Packages
-rw-r--r-- 1 root root   987922 May  9 17:08 deb.parrot.sh_parrot_dists_parrot-updates_non-free_binary-amd64_Packages

Sure!

┌─[✗]─[masmer@nsa]─[/var/lib/apt/lists]
└──╼ $cd /var/lib/apt/lists/ && sudo grep -r "Date: "
[sudo] password for masmer: 
deb.parrot.sh_parrot_dists_lts_InRelease:Date: Sat, 14 May 2022 12:47:21 UTC
deb.parrot.sh_parrot_dists_lts_main_binary-amd64_Packages: RFC 2822 defines the Date: header. It declares the header a required
deb.parrot.sh_parrot_dists_lts_main_binary-amd64_Packages: programs get it wrong. Very wrong. Or, they don't include a Date: header
deb.parrot.sh_parrot_dists_parrot_InRelease:Date: Sat, 14 May 2022 12:47:21 UTC
deb.parrot.sh_parrot_dists_parrot_main_binary-amd64_Packages: RFC 2822 defines the Date: header. It declares the header a required
deb.parrot.sh_parrot_dists_parrot_main_binary-amd64_Packages: programs get it wrong. Very wrong. Or, they don't include a Date: header
deb.parrot.sh_direct_parrot_dists_parrot-security_InRelease:Date: Fri, 13 May 2022 20:29:33 UTC
deb.parrot.sh_parrot_dists_parrot-backports_InRelease:Date: Sat, 14 May 2022 12:58:24 UTC
deb.parrot.sh_parrot_dists_parrot-updates_InRelease:Date: Sat, 14 May 2022 12:47:47 UTC
deb.parrot.sh_parrot_dists_parrot-updates_main_binary-amd64_Packages: RFC 2822 defines the Date: header. It declares the header a required
deb.parrot.sh_parrot_dists_parrot-updates_main_binary-amd64_Packages: programs get it wrong. Very wrong. Or, they don't include a Date: header

Gotcha. The mirror is the same.

$apt show libudev1 -a   
Package: libudev1
Version: 250.4-1~bpo11+1
Priority: optional
Section: libs
Source: systemd
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Installed-Size: 301 kB
Depends: libc6 (>= 2.30)
Homepage: https://www.freedesktop.org/wiki/Software/systemd
Download-Size: 179 kB
APT-Manual-Installed: yes
APT-Sources: https://vietnam.deb.parrot.sh/parrot parrot-backports/main amd64 Packages
Description: libudev shared library
 This library provides APIs to introspect and enumerate devices on the local
 system.

Package: libudev1
Version: 247.3-7
Priority: optional
Section: libs
Source: systemd
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Installed-Size: 289 kB
Depends: libc6 (>= 2.30)
Homepage: https://www.freedesktop.org/wiki/Software/systemd
Tag: role::shared-lib
Download-Size: 168 kB
APT-Sources: https://vietnam.deb.parrot.sh/parrot parrot/main amd64 Packages
Description: libudev shared library
 This library provides access to udev device information.

As you can see, libudev1 is having 2 different versions on 2 different branches. backport is having latest.

$apt show libudev-dev -a
Package: libudev-dev
Version: 250.4-1~bpo11+1
Priority: optional
Section: libdevel
Source: systemd
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Installed-Size: 221 kB
Depends: libudev1 (= 250.4-1~bpo11+1)
Homepage: https://www.freedesktop.org/wiki/Software/systemd
Download-Size: 130 kB
APT-Manual-Installed: no
APT-Sources: https://vietnam.deb.parrot.sh/parrot parrot-backports/main amd64 Packages
Description: libudev development files
 This library provides APIs to introspect and enumerate devices on the local
 system.
 .
 This package contains the files needed for developing applications that
 use libudev.

Package: libudev-dev
Version: 247.3-7
Priority: optional
Section: libdevel
Source: systemd
Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org>
Installed-Size: 213 kB
Depends: libudev1 (= 247.3-7)
Homepage: https://www.freedesktop.org/wiki/Software/systemd
Tag: devel::lang:c, devel::library, hardware::detection, implemented-in::c,
 role::devel-lib, role::program
Download-Size: 123 kB
APT-Sources: https://vietnam.deb.parrot.sh/parrot parrot/main amd64 Packages
Description: libudev development files
 This package contains the files needed for developing applications that
 use libudev.

It’s the same for the libudev-dev. So from the output error, i cal tell install version on backports will fix the problem.

1 Like

How long it usually takes to resolve such problems?
Can you update me when it is fixed?
Also, right now, am i able to fix this issue on my own?