essayer d'écraser '/ usr / bin / opencv_haartraining', qui est également dans le paquet libopencv2.3-bin 2.3.1 + svn6514 + branch23-12 ~ oneiric

14

Après avoir installé certains packages et bibliothèques, j'ai une erreur sur le gestionnaire de packages, je ne peux pas exécuter de mise à jour car il dit:

Le système de package est en panne Si vous utilisez des référentiels tiers, désactivez-les, car ils sont une source courante de problèmes. Exécutez maintenant la commande suivante dans un terminal: apt-get install -f

J'ai essayé de faire ce que ça dit et ça me rend:

jara@jara-Aspire-5738:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
libcaca-dev libopencv2.3-bin nite-dev python-bluez ps-engine libslang2-dev
python-sphinx ros-electric-geometry-tutorials
ros-electric-geometry-visualization python-matplotlib libzzip-dev
ros-electric-orocos-kinematics-dynamics ros-electric-physics-ode
libbluetooth-dev libaudiofile-dev libassimp2 libnetpbm10-dev
ros-electric-laser-pipeline python-epydoc ros-electric-geometry-experimental
libasound2-dev evtest python-matplotlib-data libyaml-dev ros-electric-bullet
ros-electric-executive-smach ros-electric-documentation libgl2ps0
libncurses5-dev ros-electric-robot-model texlive-fonts-recommended
python-lxml libwxgtk2.8-dev daemontools libxxf86vm-dev libqhull-dev
libavahi-client-dev ros-electric-geometry libgl2ps-dev libcurl4-openssl-dev
assimp-dev libusb-1.0-0-dev libopencv2.3 ros-electric-diagnostics-monitors
libsdl1.2-dev libjs-underscore libsdl-image1.2 tipa libusb-dev libtinfo-dev
python-tz python-sip libfltk1.1 libesd0 libfreeimage-dev
ros-electric-visualization x11proto-xf86vidmode-dev python-docutils
libvtk5.6 ros-electric-assimp x11proto-scrnsaver-dev libnetcdf-dev
libidn11-dev libeigen3-dev joystick libhdf5-serial-1.8.4
ros-electric-joystick-drivers texlive-fonts-recommended-doc esound-common
libesd0-dev tcl8.5-dev ros-electric-multimaster-experimental ros-electric-rx
libaudio-dev ros-electric-ros-tutorials libwxbase2.8-dev
ros-electric-visualization-common python-sip-dev
ros-electric-visualization-tutorials libfltk1.1-dev libpulse-dev libnetpbm10
python-markupsafe openni-dev tk8.5-dev wx2.8-headers freeglut3-dev
libavahi-common-dev python-roman python-jinja2
ros-electric-robot-model-visualization libxss-dev libqhull5 libaa1-dev
ros-electric-eigen freeglut3 ros-electric-executive-smach-visualization
ros-electric-common-tutorials ros-electric-robot-model-tutorials libnetcdf6
libjs-sphinxdoc python-pyparsing libaudiofile0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libcv-dev
The following NEW packages will be installed
libcv-dev
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
2 not fully installed or removed.
Need to get 0 B/3,114 kB of archives.
After this operation, 11.1 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 261801 files and directories currently installed.)
Unpacking libcv-dev (from .../libcv-dev_2.1.0-7build1_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb 
(--           unpack):
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package
libopencv2.3-bin 2.3.1+svn6514+branch23-12~oneiric
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'ai essayé tout ce que les gens recommandent sur Internet, comme:

sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f install

J'ai aussi essayé d'installer le gestionnaire synaptique mais cela ne me laisse rien installer ..

Comme vous pouvez le voir, rien ne fonctionne donc je suis désespéré!

J'utilise Ubuntu 11.10, 64 bits

Merci!!

delha
la source
La réponse de IMHO Avinash Raj est la réponse la plus sûre et la mieux expliquée à ce problème. Je recommande d'essayer ceci en premier.
Zanna

Réponses:

15

http://www.iasptk.com/ubuntu-fix-broken-package-best-solution

Après avoir essayé

sudo dpkg --configure -a

et

sudo apt-get install -f

le problème d'un paquet cassé existe toujours la solution est d'éditer le fichier d'état dpkg manuellement.

sudo nano /var/lib/dpkg/status  

(vous pouvez utiliser vim au lieu de nano)

Localisez le package corrompu, supprimez tout le bloc d'informations le concernant et enregistrez le fichier.

ptheo
la source
La modification du fichier d'état était la solution! Merci beaucoup! : D
delha
Même chose ici, corrigé en modifiant le fichier d'état. +1
ppp
vote positif car merci d'avoir résolu le problème !! MAIS gedit? vim, please
thomas-peter
1
Désolé, ce n'est pas la bonne chose à faire. Downvoting.
Faheem Mitha
3
Faire cela aveuglément causera plus sûrement des problèmes. Oui, cela peut résoudre certains cas très spécifiques, mais il existe de meilleures alternatives comme cette autre réponse.
Braiam
13

La commande OP a essayé:

sudo apt-get install -f

Rapport d'erreur pour la commande ci-dessus:

dpkg: error processing /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb (--unpack):
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package
libopencv2.3-bin 2.3.1+svn6514+branch23-12~oneiric
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

À partir du rapport d'erreur ci-dessus, il a été clairement démontré que, lors de l'exécution de la sudo apt-get install -fcommande, dpkgtente d'extraire et d'installer le /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.debfichier. L' installation nécessite de placer le opencv_haartrainingfichier dans le /usr/binrépertoire.

Mais il a été choqué de voir le même /usr/bin/opencv_haartrainingfichier dans le /usr/binrépertoire et a produit l'erreur, car ce fichier avait déjà été placé lors libopencv2.3-binde l'installation du package.

La solution à l'erreur ci-dessus consiste à supprimer le libopencv2.3-binpackage déjà installé en exécutant,

sudo dpkg -P libopencv2.3-bin

Et puis,

sudo apt-get install -f

Maintenant, la commande ci-dessus essaie automatiquement d'installer le /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.debpackage et elle peut installer le package avec succès car il n'y avait plus de bloc.

Avinash Raj
la source
3

retirez d'abord le libcv-devpaquet

sudo dpkg -r libcv-dev

ensuite

sudo apt-get install -f

le

sudo apt-get update

la source
1
il a continué à donner une erreur mais j'ai essayé l'autre réponse et cela a fonctionné. Merci beaucoup quand même !!
delha
-3

Remplacez les /var/lib/dpkg/statusfichiers par le même fichier d'un autre système de travail exécutant la même version de système d'exploitation. Cela a fonctionné pour moi.

Anku Sharma
la source
1
Pouvez-vous clarifier ce que vous voulez dire?
Mark Paskal