Discussion:
klee-uclibc fail to compile
Sylvain Gault
2014-07-03 10:22:36 UTC
Permalink
Hello,

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?


Regards,

Sylvain Gault
Sylvain Gault
2014-07-04 15:12:25 UTC
Permalink
It seems it was due to the debian package for clang 3.3. Switching to
clang 3.4 resolved the issue.


Sylvain Gault
Daniel Liew
2014-07-04 17:39:33 UTC
Permalink
Post by Sylvain Gault
It seems it was due to the debian package for clang 3.3. Switching to
clang 3.4 resolved the issue.
Glad to hear you fixed your issue.

Loading...