(14 jawaban)
Tutup 7 tahun yang lalu.
Masalah:
Saya mencoba menginstal OpenCV (analitik video) dan mengikuti dokumentasi instalasi Ubuntu OpenCV.
Skrip yang disediakan memiliki baris yang dieksekusi untuk beberapa waktu, mengambil lebih banyak paket daripada yang saya harapkan (seperti video ubuntu-studio):
sudo apt-get -qq remove ffmpeg x264 libx264-dev
Ketika skrip sampai ke baris di bawah, itu meledak:
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
Pesan kesalahannya adalah:
E: Unable to correct problems, you have held broken packages.
Solusi yang Dicoba:
Saya pertama kali menjalankan Update-Manager, menjalankan sudo apt-get update
, reboot, mencoba menjalankan baris skrip di atas secara manual, dan tetap tidak ada perubahan.
Setelah itu ikuti jawaban yang diberikan di:
- Bagaimana cara mengatasi dependensi yang tidak terpenuhi setelah menambahkan PPA?
Saya menjalankan sudo apt-get install -f
dan sepertinya tidak ada yang berubah. Disebutkan bahwa beberapa paket tidak lagi diperlukan dan dapat dihapus dengan apt-get autoremove
, jadi saya menjalankan itu. Itu menghapus sejumlah paket, jadi saya menjalankan ulang install
perintah di atas. Masih masalah yang sama dari paket rusak yang dipegang.
Saya kemudian menjalankan sudo apt-get -u dist-upgrade
, bagian dari respons yang dihasilkan adalah:
The following packages have been kept back: gstreamer0.10-ffmpeg
Saya tidak yakin apa artinya itu. Saya tahu bahwa itu muncul di Update-Manager saya dan tidak dapat diperiksa.
Saya kemudian berlari
sudo dpkg --configure -a
lalu jalankan ulang
sudo apt-get -f install
dan paketnya masih belum diupgrade, padahal ada komentar yang sangat menarik ini;
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.
Lalu aku berlari
sudo apt-get -u dist-upgrade
Ini menunjukkan bahwa saya memiliki satu paket, jadi saya berlari
sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
Itu juga keluar tanpa memutakhirkan paket, jadi saya menjalankan
sudo apt-get remove --dry-run gstreamer0.10-ffmpeg:i386
Dan itu memberi saya:
*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]*
Tapi ketika saya memutar ulang
sudo apt-get -u dist-upgrade
Itu menunjukkan paket itu masih ada.
*The following packages have been kept back:
gstreamer0.10-ffmpeg
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.*
Setelah itu, masuk ke Synaptic PM dan hapus gstreamer0.10-ffmpeg
sepenuhnya .
Putar Ulang
sudo apt-get -u dist-upgrade
Dan diberitahu
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Namun, ketika saya menjalankan apt-get
original yang asli perintah untuk menginstal opencv (kode pertama di atas pertanyaan ini), itu masih memberi saya kesalahan paket rusak yang sama.
Jadi saya mencoba:
$ 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
Setelah itu, saya berlari:
$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done
Namun, belum ada penyelesaian masalah, karena saya masih mendapatkan pesan paket rusak yang sama ketika saya mencoba menjalankan instalasi OpenCV dengan perintah ini:
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
Saya kemudian berlari:
$ 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]
Tetapi ketika saya menjalankan perintah install OpenCV, saya masih mendapatkan:
E: Unable to correct problems, you have held broken packages.
Jadi saya memulai hampir sepenuhnya dari awal lagi, kali ini menambahkan kembali ke repositori yang telah dinonaktifkan oleh pemutakhiran ke Precise.
Terkait:pesan “upowerd[4116]:tindakan tidak tertangani 'mengikat'” mengisi syslog?Kemudian saya menjalankan ulang perintah berikut:
$ 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
Hasil:
Tapi saya masih mendapatkan kesalahan ini ketika saya mencoba menjalankan perintah instalasi OpenCV:
E: Unable to correct problems, you have held broken packages.
Apa lagi yang harus saya lakukan?
Terkait:bash:=:Tidak ada file atau direktori .bashrc?Akankah peningkatan ke Ubuntu Studio 13.xx menyelesaikan masalah ini (atau memperumitnya)?
Jawaban yang Diterima:
Oke, saya mengalami masalah yang sama dengan Anda (tetapi dengan paket lain). Jadi sebagai solusi murah saya alih-alih apt-get
bakat yang digunakan:
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
itu akan menawarkan solusi untuk dependensi Anda, dalam kasus saya:
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]
Saya menerima solusi yang diberikan, Anda dapat memilih N
jika solusinya terlalu merusak (dalam kasus saya itu hanya beberapa -dev
paket yang kemungkinan besar tidak akan saya gunakan lagi, tetapi Anda harus memeriksa paket Anda ). Kemudian saya menjalankan kembali perintah penginstalan dan semuanya baik-baik saja.