Clang Error - stddef file not found?
Solution 1
This error appeared for me when trying to run clang-tidy
without clang
installed.
Installing clang fixed this error. IMO this error occurs when clang-tidy
looks for headers in GCC and system paths and clang
version/symlink of these headers are missing.
Solution 2
It's a know bug in ubuntu. Take a look here: https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300
It appears that a temporary workaround is to correct the symlink:
For the 3.5 LLVM toolchain it seems that the symlink /usr/lib/clang/3.5/include erroneously points to ../../llvm-3.4/lib/clang/3.5/include, but should instead point to ../../llvm-3.5/lib/clang/3.5/include
The workaround (of course) is to manually correct the symlink.
For the 3.4 toolchain the /usr/lib/clang/3.4/include doesn't exist at all. I have not tried LLVM 3.4 on Ubuntu so I don't know if createing a symlink to ../../llvm-3.4/lib/clang/3.4/include will fix the problem, but it does seem likely.
haziz
Updated on July 23, 2022Comments
-
haziz almost 2 years
After upgrading to Ubuntu 13.10 "Saucy", Clang now gives me the error message:
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 the header I included was
stdio.h
notstddef.h
but I am assuming thatstdio.h
references or#includes
stddef.h