2013-12-14 15 views
8

Dopo l'aggiornamento a Ubuntu 13.10 "Saucy", Clang ora mi dà il messaggio di errore:Errore Clang - file stddef non trovato?

clang -Wall -Werror -std=c99 -ggdb -O0 5.1.c -o 5.1 
In file included from 5.1.c:1: 
/usr/include/stdio.h:33:11: fatal error: 'stddef.h' file not found 
# include <stddef.h> 
     ^
1 error generated. 
make: *** [5.1] Error 1 

BTW l'intestazione ho incluso era stdio.h non stddef.h ma io parto dal presupposto che stdio.h riferimenti o #includesstddef.h

risposta

6

E ' un bug noto in Ubuntu. Date un'occhiata qui: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300

Sembra che una soluzione temporanea è quello di correggere il link simbolico:

Per la toolchain LLVM 3.5 sembra che il collegamento simbolico /usr/lib/clang/3.5/include erroneamente punti per ../../llvm-3.4/lib/clang/3.5/include, ma dovrebbero invece indicare ../../llvm-3.5/lib/clang/3.5/include

La soluzione (ovviamente) è quello di correggere manualmente il collegamento simbolico.

Per la toolchain 3.4 il /usr/lib/clang/3.4/include non esiste a tutti. Non ho provato LLVM 3.4 su Ubuntu quindi non so se la creazione di un collegamento simbolico a ../../llvm-3.4/lib/clang/3.4/include risolverà il problema , ma sembra probabile.

Source