우분투 14.04.2에 libssl-dev를 설치하려고 합니다.
$ 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.
보관된 패키지를 제거하고 올바른 패키지를 설치하려면 어떻게 해야 합니까?
답변1
먼저 다음을 입력해 보세요.
sudo dpkg --configure -a
이는 손상된 종속성을 복구하는 데 큰 도움이 될 것입니다. 충분하지 않다면 다음을 시도해 보세요.
sudo apt-get install -f
그런 다음 정리하고 업데이트하십시오.
sudo apt-get clean && sudo apt-get update
그런 다음 업그레이드하세요. (
sudo apt-get upgrade
업그레이드하려면 "예"라고 말하세요)
특정 패키지가 "보류"되었다는 메시지를 받은 경우 수행해야 할 작업은 다음과 같습니다.
sudo apt-get dist-upgrade
이제 다음 두 명령을 실행하십시오.
sudo apt-get purge zlib1g-dev
sudo apt-get autoremove
그런 다음 다음을 입력하면 어떤 일이 발생하는지 확인하세요.
sudo apt-get install libssl-dev
그래도 작동하지 않으면 다음을 시도해 보세요.
sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1
그래도 작동하지 않으면 열어보세요.시냅틱 패키지 관리자(런처에 있어야 합니다. 찾을 수 없으면 터미널에 입력하세요 synaptic-pkexec
.)
찾다 zlib1g-dev
. zlib1g-dev 옆의 상자가 녹색이 아닌 경우 해당 상자를 클릭하고 설치 표시를 선택하십시오. 여러 버전이 표시되면 하나를 선택하세요 1:1.2.8.dfsg-1ubuntu1
. 그런 다음 libssl-dev
libssl-dev 옆의 상자가 녹색이 아닌 경우 해당 상자를 클릭하고 "Mark for Installation"을 선택하십시오.
그런 다음 적용을 선택합니다.
답변2
패키지와 관련된 모든 파일을 찾아서 지운 후 다시 설치해야 합니다.
sudo dpkg --list
sudo apt-get purge "file-name"
각 파일에 대해 두 번째 명령을 반복하고 다시 설치하십시오.
답변3
sudo aptitude install lib_name_depending
libcurl4-openssl-dev
Ubuntu 14.04LTS에 설치 하려고 할 때 도움이 되었습니다.
여러 종속 라이브러리가 내 컴퓨터에 설치되지 않았으며 aptitude 도구를 사용하여 libcurl4-openssl-dev
.
답변4
이 문제를 해결한 방법은 손상된 패키지에 위에 나열된 패키지가 있다는 메시지가 표시되었을 때였습니다. sudo apt-get install (패키지 이름)을 실행한 다음 sudo apt-get Upgrade를 실행했는데 작동했습니다!