2014-07-03 10:22:36 UTC
I was recently trying to get my hands on klee and tried to compile the
modified version of uclibc.
Here is the error message I get with 'make V=1'.
/usr/bin/clang -emit-llvm -c libcrypt/des.c -o libcrypt/des.os -include ./include/libc-symbols.h -Wall -Wstrict-prototypes -fno-strict-aliasing -fno-stack-protector -fno-builtin -nostdinc -I./include -I. -DSTATIC -std=gnu99 -fgnu89-inline -O0 -g3 -I/usr/include/x86_64-linux-gnu/ -I/usr/include -isystem /usr/lib/gcc/x86_64-linux-gnu/4.9/include -DNDEBUG -fPIC -DNOT_IN_libc -DIS_IN_libcrypt
In file included from libcrypt/des.c:62:
In file included from ./include/sys/param.h:22:
In file included from ./include/limits.h:124:
/usr/include/limits.h:123:16: fatal error: 'limits.h' file not found
# include_next <limits.h>
1 error generated.
Makerules:175: recipe for target 'libcrypt/des.os' failed
make: *** [libcrypt/des.os] Error 1
I don't know if it's expected that clang -print-file-name=include prints
the directory of gcc's internal headers
/usr/lib/gcc/x86_64-linux-gnu/4.9/include which is then used as a header
directory for clang. Anyway, limits.h is located in
/usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed which is supposed to be
found automatically by gcc.
Any idea how to resolve this?