GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Problemi di installazione di Opencv su Studio 12.04 – Dipendenze interrotte?

Questa domanda ha già risposte qui :Come posso risolvere le dipendenze non soddisfatte dopo aver aggiunto un PPA?

(14 risposte)
Chiuso 7 anni fa.

Problema:

Sto cercando di installare OpenCV (analisi video) e sto seguendo la documentazione di installazione di Ubuntu OpenCV.

Lo script fornito ha una riga che è stata eseguita per un po' di tempo, portando via più pacchetti di quanto mi aspettassi (come ubuntu-studio video):

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

Quando lo script arriva alla riga sottostante, bombarda:

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

Il messaggio di errore è:

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

Tentate soluzioni:

Per prima cosa ho eseguito Update-Manager, ho eseguito sudo apt-get update , riavviato, provato a eseguire manualmente la riga di script precedente e ancora nessuna modifica.

Successivamente sono seguite le risposte date a:

  • Come faccio a risolvere le dipendenze non soddisfatte dopo aver aggiunto un PPA?

Ho eseguito sudo apt-get install -f e nulla sembrava cambiare. Diceva che alcuni pacchetti non erano più necessari e potevano essere rimossi da apt-get autoremove , quindi l'ho eseguito. Ha rimosso un certo numero di pacchetti, quindi ho eseguito nuovamente install comando sopra. Sempre lo stesso problema di pacchetti rotti trattenuti.

Ho quindi eseguito sudo apt-get -u dist-upgrade , parte della risposta risultante è stata:

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

Non sono sicuro di cosa significhi. So che viene visualizzato nel mio Update-Manager e non può essere controllato.

Poi sono corso

sudo dpkg --configure -a

e poi rieseguito

sudo apt-get -f install

e il pacchetto non è stato ancora aggiornato, anche se c'era questo commento molto interessante;

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.

Poi sono corso

sudo apt-get -u dist-upgrade

Ha mostrato che avevo un pacco in attesa, quindi ho corso

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

È uscito anche senza aggiornare il pacchetto, quindi ho eseguito

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

E mi ha dato:

*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]*

Ma quando ho eseguito nuovamente

sudo apt-get -u dist-upgrade

Ha mostrato che il pacco era ancora lì.

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

Successivamente, è entrato in Synaptic PM e ha rimosso completamente gstreamer0.10-ffmpeg .

Ripeti

sudo apt-get -u dist-upgrade

Ed è stato detto

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

Tuttavia, quando ho eseguito l'originale apt-get comando per installare opencv (primo codice all'inizio di questa domanda), mi dava ancora gli stessi errori di pacchetto non funzionante.

Quindi ho provato:

$ 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

Successivamente, ho corso:

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

Tuttavia, non ho ancora risolto il problema, poiché ricevo ancora lo stesso messaggio di pacchetto danneggiato quando tento di eseguire l'installazione di OpenCV con questo comando:

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

Ho quindi eseguito:

$ 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]

Ma quando eseguo il comando di installazione di OpenCV, ottengo ancora:

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

Quindi ho ricominciato quasi completamente da capo, questa volta aggiungendo di nuovo nei repository che l'aggiornamento a Precise aveva disabilitato.

Correlati:messaggi "upowerd[4116]:azione non gestita 'bind'" che riempiono il syslog?

Quindi ho eseguito nuovamente i seguenti comandi:

$ 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

Risultato:

Ma ricevo ancora questo errore quando provo a eseguire il comando di installazione di OpenCV:

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

Cos'altro devo fare?

Correlati:bash:=:Nessun file o directory di questo tipo .bashrc?

Un aggiornamento a Ubuntu Studio 13.xx risolverà questo problema (o lo aggraverà)?

Risposta accettata:

Ok, ho riscontrato il tuo stesso problema (ma con altri pacchetti). Quindi come soluzione economica io invece di apt-get attitudine utilizzata:

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

ti offrirà una soluzione alle tue dipendenze, nel mio caso:

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]         

Ho accettato la soluzione data, puoi selezionare N se la soluzione è troppo distruttiva (nel mio caso era solo qualche -dev pacchetti che molto probabilmente non userò più, ma devi controllare il tuo ). Quindi ho eseguito nuovamente il comando di installazione e tutto è andato bene.


Ubuntu
  1. Come installare OBS Studio 27.2 in Ubuntu 20.04 / 21.10

  2. Come installare OpenCV su Ubuntu 20.04?

  3. Come riparare i pacchetti rotti?

  4. Ubuntu 16.04 Pacchetti rotti dopo una nuova installazione?

  5. Come installare pacchetti .deb locali con apt-get

Come installare Android Studio su Ubuntu

Come installare OBS Studio su Ubuntu

Come installare OpenCV su Ubuntu 20.04

Come risolvere i pacchetti duplicati Yum o le dipendenze interrotte

Come installare OpenCV su CentOS 8

Ubuntu 16.04 I pacchetti del kernel non funzionanti non mi consentono di installare o rimuovere nulla con Apt-get?