Ubuntu에서 C 프로그램을 컴파일하려고 하면 다음 오류가 발생합니다.
$ gcc aa.c
aa.c:1:9: fatal error: stdio.h: No such file or directory
#include<stdio.h>
^--------
compilation terminated.
설치하려고 했는데 libc6-dev
다음과 같은 결과가 나왔습니다.
$ sudo apt-get install libc6-dev
...
The following packages have unmet dependencies:
libc6-dev : Depends: libc6 (= 2.27-3ubuntu1) but 2.29-10 is to be installed
Depends: libc-dev-bin (= 2.27-3ubuntu1)
E: Unable to correct problelms, you have held broken packages.
나는 시도했지만
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
위의 4개 코드는 동일한 출력을 얻었습니다.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
이러한 명령을 모두 사용한 후 컴파일할 때 동일한 치명적인 오류가 발생합니다.
apt policy libc6-dev libc6
오/피:
libc6-dev:
Installed: (none)
Candidate: 2.27-3ubuntu1
Version table:
2.27-3ubuntu1 500
500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
libc6:
Installed: 2.29-10
Candidate: 2.29-10
Version table:
*** 2.29-10 100
100 /var/lib/dpkg/status
2.27-3ubuntu1 500
500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
답변1
libc6
당신은 우분투 버전이 아닌 현재 데비안 테스트 버전으로 끝났습니다 . 아마도 그 이유가 있을 것이므로 변경하면 문제가 발생할 수 있습니다.
이 시점에서는 두 가지 옵션이 있습니다.
libc6
Ubuntu 버전으로 다운그레이드 :sudo apt install libc6=2.27-3ubuntu1
또한 관련 패키지를 다운그레이드해야 합니다(
apt
어떤 패키지인지 알려줄 것입니다. 하지만 적어도libc-bin
및 는 있을 것이라고 생각합니다locales
).또는
데비안 테스트
libc6-dev
패키지를 설치하십시오:wget http://ftp.fr.debian.org/debian/pool/main/g/glibc/libc6-dev_2.29-10_amd64.deb http://ftp.fr.debian.org/debian/pool/main/g/glibc/libc6-dev-bin_2.29-10_amd64.deb sudo apt install ./libc6-dev_2.29-10_amd64.deb ./libc6-dev-bin_2.29-10_amd64.deb
다음 배포판 업그레이드를 더 간단하게 만들기 위해 Ubuntu 버전으로 되돌리는 것이 좋습니다. 하지만 그렇게 하면 더 즉각적인 다른 결과가 발생할 수도 있습니다.