Próba instalacji libssl-dev na Ubuntu 14.04.2
$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.
$ sudo apt-get install libssl-dev
The following packages have unmet dependencies:
libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
$ sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
Jak mogę usunąć wstrzymany pakiet i zainstalować prawidłowy?
ubuntu
package-management
Sam Healey
źródło
źródło
sudo apt update
i / lubsudo apt upgrade
?Odpowiedzi:
Najpierw spróbuj wpisać:
sudo dpkg --configure -a
Pomoże to naprawić zepsute zależności. Jeśli to nie wystarczy, spróbuj:
sudo apt-get install -f
Następnie wyczyść i zaktualizuj:
sudo apt-get clean && sudo apt-get update
Następnie uaktualnij:
sudo apt-get upgrade
(powiedz „y” do aktualizacji)Jeśli pojawi się komunikat informujący, że niektóre pakiety są „wstrzymywane”, wykonaj następujące czynności:
sudo apt-get dist-upgrade
Teraz wykonaj te dwa polecenia:
Następnie zobacz, co się stanie po wejściu:
sudo apt-get install libssl-dev
Jeśli nadal nie działa, spróbuj tego:
Jeśli nadal nie działa, otwórz Menedżera pakietów Synaptic (powinien być w programie uruchamiającym. Jeśli nie możesz go znaleźć, wejdź do Terminalu
synaptic-pkexec
).Szukać
zlib1g-dev
. Jeśli pole obok zlib1g-dev nie jest zielone, kliknij je i wybierz „Oznacz do instalacji”. Jeśli widzisz więcej niż jedną wersję, wybierz1:1.2.8.dfsg-1ubuntu1
. Następnie wyszukajlibssl-dev
. Jeśli pole obok libssl-dev nie jest zielone, kliknij je i wybierz „Oznacz do instalacji”.Następnie wybierz „Zastosuj”.
źródło
apt-cache policy zlib1g-dev
igrep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
E: Command line option 'P' [from -P] is not known.
Musisz wyszukać wszystkie pliki związane z pakietem i wyczyścić je, a następnie ponownie zainstalować.
powtórz drugie polecenie dla każdego pliku, a następnie ponownie zainstaluj.
źródło
działało dla mnie, gdy chciałem zainstalować
libcurl4-openssl-dev
na moim Ubuntu 14.04LTS.Kilka zależnych bibliotek nie zostało zainstalowanych na moim komputerze, a dzięki narzędziu aptitude udaje mi się interaktywnie zainstalować / obniżyć wersję libs / pakietu, aby móc zainstalować
libcurl4-openssl-dev
.źródło