GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Probleme bei der Installation von Opencv auf Studio 12.04 – Defekte Abhängigkeiten?

Für diese Frage gibt es hier bereits Antworten :Wie löse ich unerfüllte Abhängigkeiten nach dem Hinzufügen eines PPA?

(14 Antworten)
Vor 7 Jahren geschlossen.

Problem:

Ich versuche, OpenCV (Videoanalyse) zu installieren und folge der Ubuntu OpenCV-Installationsdokumentation.

Das bereitgestellte Skript enthält eine Zeile, die einige Zeit ausgeführt wurde und mehr Pakete entfernte, als ich erwartet hatte (z. B. ubuntu-studio video):

sudo apt-get -qq remove ffmpeg x264 libx264-dev

Wenn das Skript die folgende Zeile erreicht, bombardiert es:

sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

Die Fehlermeldung lautet:

E: Unable to correct problems, you have held broken packages.

Lösungsversuche:

Ich habe zuerst den Update-Manager ausgeführt und sudo apt-get update ausgeführt , neu gestartet, versucht, die obige Skriptzeile manuell auszuführen, und immer noch keine Änderung.

Danach folgten die Antworten unter:

  • Wie löse ich unerfüllte Abhängigkeiten nach dem Hinzufügen eines PPA?

Ich habe sudo apt-get install -f ausgeführt und nichts schien sich zu ändern. Es wurde erwähnt, dass einige Pakete nicht mehr benötigt werden und mit apt-get autoremove entfernt werden können , also habe ich das ausgeführt. Es hat eine Reihe von Paketen entfernt, also habe ich install erneut ausgeführt Befehl oben. Immer noch das gleiche Problem mit kaputten Paketen.

Ich habe dann sudo apt-get -u dist-upgrade ausgeführt , war ein Teil der resultierenden Antwort:

The following packages have been kept back: gstreamer0.10-ffmpeg

Ich bin mir nicht sicher, was das bedeutet. Ich weiß, dass es in meinem Update-Manager auftaucht und nicht überprüft werden kann.

Ich bin dann gerannt

sudo dpkg --configure -a

und dann neu ausgeführt

sudo apt-get -f install

und das Paket wurde immer noch nicht aktualisiert, obwohl es diesen sehr interessanten Kommentar gab;

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:
 gstreamer0.10-ffmpeg : Depends: libavcodec53 (< 5:0) but it is not going to be installed or
                                 libavcodec-extra-53 (< 5:0) but 5:0.7.2-1ubuntu1+codecs1~oneiric2 is to be installed
E: Unable to correct problems, you have held broken packages.

Dann rannte ich

sudo apt-get -u dist-upgrade

Es zeigte, dass ich ein Paket zurückgehalten hatte, also rannte ich weg

sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

Es wurde auch beendet, ohne das Paket zu aktualisieren, also habe ich es ausgeführt

sudo apt-get remove --dry-run gstreamer0.10-ffmpeg:i386

Und es gab mir:

*The following packages will be REMOVED:
  arista gstreamer0.10-ffmpeg
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
Remv arista [0.9.7-3ubuntu1]
Remv gstreamer0.10-ffmpeg [0.10.12-1ubuntu1]*

Aber wenn ich reran

sudo apt-get -u dist-upgrade

Es zeigte, dass das Paket noch da war.

*The following packages have been kept back:
  gstreamer0.10-ffmpeg
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.*

Danach in Synaptic PM gegangen und gstreamer0.10-ffmpeg vollständig entfernt .

Wiederholen

sudo apt-get -u dist-upgrade

Und wurde gesagt

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Als ich jedoch das ursprüngliche apt-get ausgeführt habe Befehl zum Installieren von opencv (erster Code ganz oben in dieser Frage), es gab immer noch die gleichen fehlerhaften Paketfehler.

Also habe ich versucht:

$ cat /etc/apt/sources.list
# 

# deb cdrom:[Ubuntu-Studio 11.10 _Oneiric Ocelot_ - Release i386 (20111011.1)]/ oneiric main multiverse restricted universe

# deb cdrom:[Ubuntu-Studio 11.10 _Oneiric Ocelot_ - Release i386 (20111011.1)]/ oneiric main multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ precise main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ precise universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free license. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.

deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb-src http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe
deb-src http://security.ubuntu.com/ubuntu precise-security universe
deb http://security.ubuntu.com/ubuntu precise-security multiverse
deb-src http://security.ubuntu.com/ubuntu precise-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu oneiric partner

## Uncomment the following two lines to add software from Ubuntu's
## 'extras' repository.
## This software is not part of Ubuntu but is offered by third-party
## developers who want to ship their latest software.
# deb http://extras.ubuntu.com/ubuntu oneiric main
# deb-src http://extras.ubuntu.com/ubuntu oneiric main
# deb http://download.opensuse.org/repositories/home:/popinet/xUbuntu_11.04 ./ # disabled on upgrade to precise

Danach lief ich:

$ sudo apt-get check
Reading package lists... Done
Building dependency tree       
Reading state information... Done

Allerdings noch keine Lösung des Problems, da ich immer noch die gleiche Meldung über ein beschädigtes Paket erhalte, wenn ich versuche, die Installation von OpenCV mit diesem Befehl auszuführen:

sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

Ich lief dann:

$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Del linux-generic 3.2.0.55.65 [1,714 B]
Del linux-libc-dev 3.2.0-54.82 [858 kB]
Del initramfs-tools-bin 0.99ubuntu13.2 [9,758 B]
Del firefox-globalmenu 24.0+build1-0ubuntu0.12.04.1 [8,958 B]
Del apport 2.0.1-0ubuntu17.5 [147 kB]
Del firefox-locale-en 24.0+build1-0ubuntu0.12.04.1 [578 kB]
Del thunderbird-locale-en-gb 1:24.0+build1-0ubuntu0.12.04.1 [14.0 kB]
Del linux-libc-dev 3.2.0-55.85 [860 kB]
Del thunderbird-globalmenu 1:24.0+build1-0ubuntu0.12.04.1 [8,782 B]
Del apport-gtk 2.0.1-0ubuntu17.5 [9,200 B]
Del thunderbird 1:24.0+build1-0ubuntu0.12.04.1 [29.3 MB]
Del firefox 24.0+build1-0ubuntu0.12.04.1 [28.1 MB]
Del thunderbird-locale-en-us 1:24.0+build1-0ubuntu0.12.04.1 [14.0 kB]
Del linux-image-generic 3.2.0.54.64 [2,262 B]
Del linux-headers-generic 3.2.0.55.65 [2,244 B]
Del linux-image-generic 3.2.0.55.65 [2,260 B]
Del python-apport 2.0.1-0ubuntu17.5 [81.1 kB]
Del initramfs-tools 0.99ubuntu13.2 [49.2 kB]
Del linux-headers-generic 3.2.0.54.64 [2,258 B]
Del linux-headers-lowlatency-pae 3.2.0.55.44 [2,256 B]
Del linux-headers-lowlatency-pae 3.2.0.54.43 [2,250 B]
Del thunderbird-locale-en 1:24.0+build1-0ubuntu0.12.04.1 [342 kB]
Del python-problem-report 2.0.1-0ubuntu17.5 [9,466 B]
Del procps 1:3.2.8-11ubuntu6.2 [225 kB]
Del linux-generic 3.2.0.54.64 [1,722 B]

Aber wenn ich den OpenCV-Installationsbefehl ausführe, bekomme ich immer noch:

E: Unable to correct problems, you have held broken packages.

Also fing ich fast komplett von vorne an und fügte dieses Mal Repositories hinzu, die das Upgrade auf Precise deaktiviert hatte.

Verwandte:„upowerd[4116]:unbehandelte Aktion ‚bind‘“-Meldungen füllen Syslog?

Dann habe ich die folgenden Befehle erneut ausgeführt:

$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree       
Reading state information... Done

$ sudo apt-get clean

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  python-gudev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  python-gudev
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 106 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 614874 files and directories currently installed.)
Removing python-gudev ...
Processing triggers for python-support ...

$ sudo dpkg --configure -a

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt-get -u dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ cat /etc/apt/sources.list.d/*

### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/earth/deb/ stable main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/earth/deb/ stable main
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb http://dl.google.com/linux/earth/deb/ stable main
# deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
# deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu oneiric main
deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu oneiric main
# deb http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
# deb-src http://ppa.launchpad.net/kxstudio-team/ppa/ubuntu precise main # disabled on upgrade to precise
## Please report any bug on https://bugs.launchpad.net/medibuntu/
# deb http://packages.medibuntu.org/ precise free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot" disabled on upgrade to precise
# deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
## Please report any bug on https://bugs.launchpad.net/medibuntu/
deb http://packages.medibuntu.org/ oneiric free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot"
#deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
## Please report any bug on https://bugs.launchpad.net/medibuntu/
# deb http://packages.medibuntu.org/ precise free non-free #Medibuntu - Ubuntu 11.10 "oneiric ocelot" disabled on upgrade to precise
# deb-src http://packages.medibuntu.org/ oneiric free non-free #Medibuntu (source) - Ubuntu 11.10 "oneiric ocelot"
# deb http://www.openfoam.org/download/ubuntu precise main # disabled on upgrade to precise
deb http://www.openfoam.org/download/ubuntu oneiric main
# deb http://www.openfoam.org/download/ubuntu precise main # disabled on upgrade to precise
deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main

Ergebnis:

Aber ich erhalte immer noch diesen Fehler, wenn ich versuche, den OpenCV-Installationsbefehl auszuführen:

E: Unable to correct problems, you have held broken packages.

Was muss ich noch tun?

Verwandte:bash:=:Keine solche Datei oder Verzeichnis .bashrc?

Wird ein Upgrade auf Ubuntu Studio 13.xx dieses Problem lösen (oder verstärken)?

Akzeptierte Antwort:

Ok, ich habe das gleiche Problem wie Sie (aber mit anderen Paketen). Also als günstige Lösung habe ich statt apt-get verwendete Eignung:

sudo apt-get install aptitude
sudo aptitude install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg

es wird Ihnen eine Lösung für Ihre Abhängigkeiten anbieten, in meinem Fall:

The following actions will resolve these dependencies:

      Remove the following packages:                       
1)      libcupsimage2-dev                                  
2)      libsane-dev                                        
3)      libtiff5-dev                                       

      Keep the following packages at their current version:
4)      libcv-dev [Not Installed]                          
5)      libcvaux-dev [Not Installed]                       
6)      libhighgui-dev [Not Installed]                     
7)      libopencv-contrib-dev [Not Installed]              
8)      libopencv-dev [Not Installed]                      
9)      libopencv-highgui-dev [Not Installed]              
10)     libopencv-legacy-dev [Not Installed]               
11)     libopencv-objdetect-dev [Not Installed]            
12)     libopencv-videostab-dev [Not Installed]         

Ich habe die angegebene Lösung akzeptiert, Sie können N auswählen wenn die Lösung zu destruktiv ist (in meinem Fall war es nur ein -dev Pakete, die ich höchstwahrscheinlich nicht mehr verwenden werde, aber Sie müssen Ihre überprüfen ). Dann habe ich den Installationsbefehl erneut ausgeführt und alles war in Ordnung.


Ubuntu
  1. So installieren Sie OBS Studio 27.2 in Ubuntu 20.04 / 21.10

  2. Wie installiere ich OpenCV auf Ubuntu 20.04?

  3. Wie repariert man defekte Pakete?

  4. Ubuntu 16.04 Beschädigte Pakete nach Neuinstallation?

  5. So installieren Sie lokale .deb-Pakete mit apt-get

So installieren Sie Android Studio auf Ubuntu

So installieren Sie OBS Studio auf Ubuntu

So installieren Sie OpenCV unter Ubuntu 20.04

So beheben Sie doppelte Yum-Pakete oder defekte Abhängigkeiten

So installieren Sie OpenCV unter CentOS 8

Ubuntu 16.04 Kaputte Kernelpakete lassen mich nichts mit Apt-get installieren oder entfernen?