para - gcc linux
No se puede compilar un programa c simple en Linux Mint 15 (5)
El nombre del paquete para la biblioteca estándar de C es libc6
. Sus archivos de encabezado están en el paquete de desarrollo: libc6-dev
. Algunas distribuciones de Linux no tienen el paquete de desarrollo instalado. Necesitas instalarlo tu mismo:
sudo apt-get install libc6-dev
Por qué la instalación de build-essentials
no resuelve las dependencias que no conozco. Pero creo que la pregunta no era sobre la instalación de build-essentials
de build-essentials
y tal vez no sea necesaria en absoluto.
Referencias:
Soy un usuario de Linux Mint 15.
Quería escribir un programa simple en C.
Abajo está mi código. (Hw.c)
#include<stdio.h>
#include<conio.h>
int main()
{
printf("Hello World");
}
Pero, cuando intento compilarlo con gcc
gcc -o hw hw.c
me da un error
hw.c:1:18: fatal error: stdio.h: No such file or directory
compilation terminated.
Busqué en Google y encontré algunas soluciones que dicen instalar la build-essential
e intentado instalarlo
sudo apt-get install build-essintial
Pero vuelve a dar un error. El error es
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:
build-essential : Depends: libc6-dev but it is not going to be installed or
libc-dev
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Entonces, ¿qué está mal? ¿Cuál es el problema?
¿Cómo resolverlo?
PD. El resultado de locate stdio.h
es
/usr/lib/perl/5.14.2/CORE/nostdio.h
/usr/lib/syslinux/com32/include/stdio.h
Estaba teniendo el mismo problema, simplemente instalé el paquete g ++ y eso solucionó el archivo de inclusión faltante.
sudo apt-get install g++
Este problema puede surgir cuando intenta desde un directorio incorrecto ...
Te sugiero que busques el directorio.
Actualice el SO por: sudo apt-get update.
La opción final es eliminar el compilador gcc de exixting e instalar el nuevo.
También puedes probar esto:
g ++ -o [nombreArchivo] [nombre del ejecutable]
FWIW, Mint 17 solo necesita compilación esencial para compilar programas en C:
# apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
dpkg-dev g++ g++-4.8 libc-dev-bin libc6-dev libstdc++-4.8-dev
Suggested packages:
debian-keyring g++-multilib g++-4.8-multilib gcc-4.8-doc libstdc++6-4.8-dbg
glibc-doc libstdc++-4.8-doc
Recommended packages:
libalgorithm-merge-perl
The following NEW packages will be installed:
build-essential dpkg-dev g++ g++-4.8 libc-dev-bin libc6-dev
libstdc++-4.8-dev
0 upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
Tuve esta situación antes:
rleclerc@fvrwbp01:~# gcc -o tokens tokens.c
tokens.c:1:19: fatal error: stdio.h: No such file or directory
compilation terminated.
Tu escribiste:
sudo apt-get install build-essintial
Hay un error tipográfico. Intenta esto en su lugar (supongo que ya hiciste algo similar):
sudo apt-get install --no-install-recommends gcc
y:
sudo apt-get install --no-install-recommends build-essential
A veces, la corrección de pruebas hace alguna diferencia:
The following NEW packages will be installed:
build-essential dpkg-dev g++ g++-4.7 libc-dev-bin libc6-dev libdpkg-perl libstdc++6-4.7-dev libtimedate-perl linux-libc-dev make
(...)
Esto solucionó el error.