Discussion:
Notice about compiling llvm2.9 on recent versions of glibc
Daniel Liew
2013-09-27 11:37:11 UTC
Permalink
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.

Loading...