web-dev-qa-db-fra.com

GCC ne trouve pas stdio.h dans Alpine Linux

Dans un nouveau Linux alpin, j'ai installé GCC par

apk add --update-cache gcc

mais toujours un programme simple

#include <stdio.h>

int main(int argc, char *argv[]) {
    return 0;
}

compilé avec un message

fatal error: stdio.h: No such file or directory
23
Franklin Yu

Installez libc-dev en plus de GCC, ou installez simplement build-base pour tout ( Alpine-sdk est probablement une exagération). Pour installer, exécutez la commande suivante:

apk add libc-dev

Vous devez l'installer séparément car dans Alpine Linux, le package GCC ne dépend pas de libc-devpour une bonne raison :

Vous pouvez utiliser gcc pour compiler des choses sans libc, par exemple le firmware des hyperviseurs etc.

Et August Klein a également noté que dans Debian, GCC seulement recommandelibc-dev pour la même raison (mais la plupart des gens ne le font pas --no-install-recommends en tous cas).

45
Franklin Yu