[klee-dev] Old KLEE/LLVM compilation errors

Affan Rauf affan.rauf at gmail.com
Tue Feb 26 22:44:16 GMT 2019


Hi,

All of a sudden I have started getting errors which look similar to the one
reported at
https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg00767.html.
However, the solution does not work anymore. I am extending work of a
former student. She worked with KLEE v1.2.0 and LLVM 2.9. The errors
persist with v1.3.0 though. The code has been compiling fine in the past
but now it won't. I have tried on both Ubuntu 14.04 and 16.04. It may be
something very simple but I haven't been able to resolve the problem. Any
pointers will be helpful! Thanks!

Detailed error in red:

itsme at ubuntu:~/klee$ sudo make ENABLE_OPTIMIZED=1
make[1]: Entering directory `/home/itsme/klee/lib'
make[2]: Entering directory `/home/itsme/klee/lib/Basic'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/lib/Basic'
make[2]: Entering directory `/home/itsme/klee/lib/Support'
Regenerating ../../include/klee/Config/CompileTimeInfo.h
llvm[2]: Compiling PrintVersion.cpp for Release+Asserts build
llvm[2]: Building Release+Asserts Archive Library libkleeSupport.a
make[2]: Leaving directory `/home/itsme/klee/lib/Support'
make[2]: Entering directory `/home/itsme/klee/lib/Expr'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/lib/Expr'
make[2]: Entering directory `/home/itsme/klee/lib/Solver'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/lib/Solver'
make[2]: Entering directory `/home/itsme/klee/lib/Module'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/lib/Module'
make[2]: Entering directory `/home/itsme/klee/lib/Core'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/lib/Core'
make[1]: Leaving directory `/home/itsme/klee/lib'
make[1]: Entering directory `/home/itsme/klee/tools'
make[2]: Entering directory `/home/itsme/klee/tools/klee'
llvm[2]: Linking Release+Asserts executable klee (without symbols)
/home/itsme/llvm-2.9/Release+Asserts/lib/libLLVMipa.a(CallGraphSCCPass.o):
In function `(anonymous
namespace)::CGPassManager::runOnModule(llvm::Module&)':
CallGraphSCCPass.cpp:(.text+0x277e): warning: memset used with constant
zero length parameter; this could be due to transposed parameters
llvm[2]: ======= Finished Linking Release+Asserts Executable klee (without
symbols)
make[2]: Leaving directory `/home/itsme/klee/tools/klee'
make[2]: Entering directory `/home/itsme/klee/tools/kleaver'
llvm[2]: Linking Release+Asserts executable kleaver (without symbols)
llvm[2]: ======= Finished Linking Release+Asserts Executable kleaver
(without symbols)
make[2]: Leaving directory `/home/itsme/klee/tools/kleaver'
make[2]: Entering directory `/home/itsme/klee/tools/ktest-tool'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/tools/ktest-tool'
make[2]: Entering directory `/home/itsme/klee/tools/gen-random-bout'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/tools/gen-random-bout'
make[2]: Entering directory `/home/itsme/klee/tools/klee-stats'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/tools/klee-stats'
make[2]: Entering directory `/home/itsme/klee/tools/klee-replay'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/itsme/klee/tools/klee-replay'
make[1]: Leaving directory `/home/itsme/klee/tools'
make[1]: Entering directory `/home/itsme/klee/runtime'
make[2]: Entering directory `/home/itsme/klee/runtime/Intrinsic'
llvm[2]: Compiling klee_int.c for Release+Asserts build (bytecode)
In file included from klee_int.c:10:
/usr/include/assert.h:69: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘extern’
/usr/include/assert.h: In function ‘__assert_perror_fail’:
/usr/include/assert.h:76: error: expected declaration specifiers before
‘__THROW’
/usr/include/assert.h:82: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘__THROW’
/usr/include/assert.h:85: error: expected declaration specifiers before
‘__END_DECLS’
In file included from /home/itsme/klee/include/klee/klee.h:13,
                 from klee_int.c:11:
/usr/include/stdint.h:37: error: storage class specified for parameter
‘int16_t’
/usr/include/stdint.h:38: error: storage class specified for parameter
‘int32_t’
/usr/include/stdint.h:42: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:48: error: storage class specified for parameter
‘uint8_t’
/usr/include/stdint.h:49: error: storage class specified for parameter
‘uint16_t’
/usr/include/stdint.h:51: error: storage class specified for parameter
‘uint32_t’
/usr/include/stdint.h:57: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:65: error: storage class specified for parameter
‘int_least8_t’
/usr/include/stdint.h:66: error: storage class specified for parameter
‘int_least16_t’
/usr/include/stdint.h:67: error: storage class specified for parameter
‘int_least32_t’
/usr/include/stdint.h:71: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:76: error: storage class specified for parameter
‘uint_least8_t’
/usr/include/stdint.h:77: error: storage class specified for parameter
‘uint_least16_t’
/usr/include/stdint.h:78: error: storage class specified for parameter
‘uint_least32_t’
/usr/include/stdint.h:82: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:90: error: storage class specified for parameter
‘int_fast8_t’
/usr/include/stdint.h:96: error: storage class specified for parameter
‘int_fast16_t’
/usr/include/stdint.h:97: error: storage class specified for parameter
‘int_fast32_t’
/usr/include/stdint.h:98: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:103: error: storage class specified for parameter
‘uint_fast8_t’
/usr/include/stdint.h:109: error: storage class specified for parameter
‘uint_fast16_t’
/usr/include/stdint.h:110: error: storage class specified for parameter
‘uint_fast32_t’
/usr/include/stdint.h:111: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:125: error: storage class specified for parameter
‘intptr_t’
/usr/include/stdint.h:128: error: storage class specified for parameter
‘uintptr_t’
/usr/include/stdint.h:137: error: expected declaration specifiers before
‘__extension__’
/usr/include/stdint.h:139: error: expected declaration specifiers before
‘__extension__’
In file included from /home/itsme/klee/include/klee/klee.h:14,
                 from klee_int.c:11:
/home/itsme/llvm-gcc4.2-2.9-x86_64-linux/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.2.1/include/stddef.h:152:
error: storage class specified for parameter ‘ptrdiff_t’
/home/itsme/llvm-gcc4.2-2.9-x86_64-linux/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.2.1/include/stddef.h:214:
error: storage class specified for parameter ‘size_t’
/home/itsme/llvm-gcc4.2-2.9-x86_64-linux/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.2.1/include/stddef.h:326:
error: storage class specified for parameter ‘wchar_t’
In file included from klee_int.c:11:
/home/itsme/klee/include/klee/klee.h:26: error: expected declaration
specifiers or ‘...’ before ‘size_t’
/home/itsme/klee/include/klee/klee.h:37: error: expected declaration
specifiers or ‘...’ before ‘size_t’
/home/itsme/klee/include/klee/klee.h:57: error: expected declaration
specifiers before ‘__attribute__’
/home/itsme/klee/include/klee/klee.h:61: error: expected declaration
specifiers before ‘__attribute__’
/home/itsme/klee/include/klee/klee.h:72: error: expected declaration
specifiers before ‘__attribute__’
/home/itsme/klee/include/klee/klee.h:79: error: expected declaration
specifiers before ‘size_t’
/home/itsme/klee/include/klee/klee.h:87: error: expected declaration
specifiers before ‘uintptr_t’
/home/itsme/klee/include/klee/klee.h:103: error: expected ‘)’ before ‘n’
/home/itsme/klee/include/klee/klee.h:109: error: expected ‘)’ before
‘condition’
/home/itsme/klee/include/klee/klee.h:112: error: expected declaration
specifiers or ‘...’ before ‘uintptr_t’
/home/itsme/klee/include/klee/klee.h:113: error: expected declaration
specifiers or ‘...’ before ‘uintptr_t’
/home/itsme/klee/include/klee/klee.h:124: error: expected declaration
specifiers before ‘int32_t’
/home/itsme/klee/include/klee/klee.h:125: error: expected declaration
specifiers before ‘int64_t’
/home/itsme/klee/include/klee/klee.h:136: error: expected declaration
specifiers or ‘...’ before ‘size_t’
klee_int.c:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘{’ token
klee_int.c:17: error: old-style parameter declarations in prototyped
function definition
klee_int.c:17: error: expected ‘{’ at end of input
make[2]: ***
[/home/itsme/klee/runtime/Intrinsic/Release+Asserts/klee_int.ll] Error 1
make[2]: Leaving directory `/home/itsme/klee/runtime/Intrinsic'
make[1]: *** [Intrinsic/.makeall] Error 2
make[1]: Leaving directory `/home/itsme/klee/runtime'
make: *** [all] Error 1

Regards!
Affan
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list