vấn đề phụ thuộc libgtk-3-0


12

Tôi đã cố gắng cập nhật các gói tiêu chuẩn trên hộp Ubuntu của mình. Thực sự không có gì thêm trên hộp này ngoại trừ VirtualBox cho một số nội dung Windows tôi chạy. Đây là một đầu ra:

$ sudo apt-get update
[...]
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libgail-3-0 : Depends: libgtk-3-0 (= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
 libgtk-3-0 : Depends: libgtk-3-common (= 3.6.0-0ubuntu3.1) but 3.6.0-0ubuntu3.2 is installed
 libgtk-3-bin : Depends: libgtk-3-0 (>= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed

Và một cái khác với tùy chọn -f:

$ sudo apt-get -f upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be upgraded:
  libgtk-3-0 overlay-scrollbar-gtk3
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
26 not fully installed or removed.
Need to get 0 B/2,397 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 203437 files and directories currently installed.)
Preparing to replace libgtk-3-0:amd64 3.6.0-0ubuntu3.1 (using .../libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb) ...
Unpacking replacement libgtk-3-0:amd64 ...
dpkg: error processing /var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules', which is also in package ibus-gtk3:amd64 1.4.1-7ubuntu1
Preparing to replace overlay-scrollbar-gtk3:amd64 0.2.16+r357-0ubuntu1 (using .../overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb) ...
Unpacking replacement overlay-scrollbar-gtk3:amd64 ...
dpkg: error processing /var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gtk-3.0/modules', which is also in package libcanberra-gtk3-module:amd64 0.29-0ubuntu2
Errors were encountered while processing:
 /var/cache/apt/archives/libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb
 /var/cache/apt/archives/overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Đây là đầu ra cho apt-cache policytất cả các gói liên quan: pastebin d3YcjPmJ . Tất cả dường như là từ kênh chính thức quantalquantal-updatesphát hành và một tấm gương chính thức.

Tôi cũng đã thử sudo apt-get -f install, sudo apt-get dist-upgradesudo apt-get clean && sudo rm -r /var/cache/apt/archives/, nhưng tất cả đều dẫn đến cùng một lỗi.


Có, tôi đã thực hiện cập nhật với các gói mới và có Tôi đã chạy cập nhật trước khi nâng cấp
Logan Best

Cả hai lệnh này đều có đầu ra giống như đầu ra -f trong yêu cầu ban đầu.
Logan hay nhất

1
Bạn đã thử xóa /var/cache/apt/archives/thư mục và cập nhật lại chưa? sudo apt-get clean && sudo rm -r /var/cache/apt/archives/
Lucio

Đã thử và cùng một lỗi. Cập nhật câu hỏi.
Logan hay nhất

@LoganBest Xin vui lòng, hãy thử với điều này: sudo dpkg -r libgtk-3-0_3.6.0-0ubuntu3.2_amd64.deb && sudo dpkg -r overlay-scrollbar-gtk3_0.2.16+r357-0ubuntu1.1_amd64.debvà sau đósudo apt-get -f install && sudo apt-get update && sudo apt-get upgrade
Lucio

Câu trả lời:


3

Ok, nếu bạn vẫn gặp phải sự cố này, điều đó xảy ra vì một số gói sẽ không hoạt động nếu các phiên bản của đồng nghiệp của chúng không giống nhau.

libgail-3-0 : Depends: libgtk-3-0 (= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed
libgtk-3-0 : Depends: libgtk-3-common (= 3.6.0-0ubuntu3.1) but 3.6.0-0ubuntu3.2 is installed
libgtk-3-bin : Depends: libgtk-3-0 (>= 3.6.0-0ubuntu3.2) but 3.6.0-0ubuntu3.1 is installed

Như bạn có thể thấy libgail-3-0 yêu cầu libgtk-3-0 là 3.6.0-0ubfox3. 2 nhưng libgtk-3-0 yêu cầu libgtk-3-common là 3.6.0-0ubfox3. 1 sự khác biệt của các phiên bản .1. Vì vậy, vì libgtk-Family không thể có các phiên bản khác nhau, apt-get nhận được một lỗi phụ thuộc kỳ vọng. Vậy làm thế nào để giải quyết điều này? Chúng tôi sử dụng holdtrạng thái gói:

echo "libgtk-3-bin hold" | sudo dpkg --set-selections
echo "libgtk-3-0 hold" | sudo dpkg --set-selections

Với điều này, bạn có thể nâng cấp bình thường cho đến khi các xung đột phụ thuộc được giải quyết trong kho Ubuntu.

Khi bạn cảm thấy rằng bạn có thể cho phép nâng cấp, chỉ cần chạy:

echo "libgtk-3-bin install" | sudo dpkg --set-selections
echo "libgtk-3-0 install" | sudo dpkg --set-selections

Một tùy chọn khác là buộc các phiên bản được cài đặt:

sudo apt-get update
sudo apt-get install libgtk-3-0=3.6.0-0ubuntu3.1 libgtk-3-common=3.6.0-0ubuntu3.1 libgtk-3-0=3.6.0-0ubuntu3.1

Điều này sẽ cho apt-get cài đặt mọi thứ bằng cùng một số phiên bản.


0

Đối với bất cứ ai vẫn còn những vấn đề đó.

Tôi tin rằng chúng xuất hiện khi bạn xóa thủ công một số gói nhưng không dọn sạch tất cả rác mà chúng để lại. Trong trường hợp của tôi, tôi libgtkvẫn cài đặt và đó là phiên bản mới hơn sau đó tôi muốn cài đặt. Vì vậy, nó thực sự không biết phải làm gì với các phiên bản khác nhau của thư viện.

Sau khi xóa libgtk-3-0và các gói khác có vấn đề tương tự, mọi thứ đều ổn.

Tái bút Lưu ý rằng nếu bạn đã hoàn thành echo "libgtk-3-0 hold" | sudo dpkg --set-selections thì bạn phải làm echo "libgtk-3-0 install" | sudo dpkg --set-selectionsđể có thể xóa gói này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.