2015-06-25 12 views
6

(Non ci sono domande simili risposto ma nessuno realmente si applica a questo)C errore del compilatore: cdefs.h non trovato

ho una scheda con Fedora 20 e l'architettura armv71 (32-bit). Ho installato tutte le librerie gcc via yum che sono richieste come gcc, g++, cmake, glibc, glibc-devel ecc. (glibc-devel equivale a libc6-dev-i386 in Fedora).

Sto cercando di compilare un progetto C, che compila bene su MAC OS a 64-bit e 64-bit di Ubuntu, ma mi dà il seguente errore su Fedora 20 quando corro make:

/usr/include/features.h:364:25: fatal error: sys/cdefs.h: No such file or directory 
# include <sys/cdefs.h> 

Quando controllo la cartella /usr/include/sys, è vuota e il file cdefs.h non esiste in nessun punto del sistema.

Il problema sembra essere che mi manca un pacchetto (forse?) Ma non riesco a capire quale manca da quando mi sembra di averli tutti installati. Oppure il compilatore C a 32 bit manca quel file per un motivo specifico? Qualsiasi aiuto sarebbe apprezzato.

+0

"Running' make'" può effettivamente fare nulla. È necessario mostrare il comando di richiamo del compilatore. Di solito è nascosto nella regola con un simbolo '@' all'inizio della riga. Basta rimuovere '@' per vedere cosa sta realmente accadendo. – stefan

+1

Controlla questo thread: http://askubuntu.com/questions/470796/fatal-error-sys-cdefs-h-no-such-file-or-directory. Fondamentalmente devi solo installare libc6-dev-i386 – littleimp

+0

Ho visto quel thread ma l'equivalente di libc6-dev-i386 in Fedora è glibc-devel, controlla questo thread: http://superuser.com/questions/491504/ how-do-i-install-package-libc6-dev-i386-on-fedora Tuttavia, ho installato glibc e glibc-devel nel mio sistema (aggiornato anche la domanda) – mco

risposta

0

Dal momento che siete su una distro RPM-based, si può fare questo:

# yum provides '*sys/defs.h' 

e lasciare che lo strumento fare la parte difficile.

+0

e cosa fa esattamente? – Kamiccolo

+1

Scansiona il tuo database RPM e ti dice il nome del RPM che fornisce il file che termina con "sys/defs.h". –

2

con questo comando (o uno simile, a seconda del sistema operativo)

apt-get install libc6-dev-i386 
Problemi correlati