[klee-dev] Notice about compiling llvm2.9 on recent versions of glibc

Daniel Liew daniel.liew at imperial.ac.uk
Fri Sep 27 12:37:11 BST 2013


Hi All,

I was building llvm-2.9 today and I came across a compilation error
that I thought I should mention.

If you see something like this...

/home/___/dev/klee/llvm-2.9/src/lib/ExecutionEngine/JIT/Intercept.cpp:
In constructor ‘{anonymous}::StatSymbols::StatSymbols()’:
/home/___/dev/klee/llvm-2.9/src/lib/ExecutionEngine/JIT/Intercept.cpp:69:67:
error: ‘lseek64’ was not declared in this scope
     sys::DynamicLibrary::AddSymbol("\x1lseek64", (void*)(intptr_t)lseek64);

The problem is that lseek64 is defined in unistd.h which for some
reason is not included ( I suspect a header file that once included
unistd.h no longer does ).

For reference I'm using Arch Linux (kernel 3.11.1-2-ARCH, glibc 2.18-4 ).

A patch that fixes this is attached.

Thanks,
Dan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unistd-llvm-2.9-jit.patch
Type: application/octet-stream
Size: 493 bytes
Desc: not available
URL: <http://mailman.ic.ac.uk/pipermail/klee-dev/attachments/20130927/ca585626/attachment.obj>


More information about the klee-dev mailing list