Re: [klee-dev] error in Coreutils Case Study

2012-09-14 Thread Qiuping Yi
Hi,

yes, you are right!

I rebuilt my llvm and klee, now it's OK. Thank you very much!


Qiuping Yi
Institute Of Software
Chinese Academy of Sciences


2012/9/14 Delcypher 

> Hi,
>
> I'm not sure if the fact that your target triple i386-pc-linux-gnu is a
> problem as x86_64 as far as I know is a super set of i386. However it is
> surprising that your version of llvm-gcc is doing this which leads me to
> believe you might of downloaded the 32-bit version of llvm-gcc by mistake.
>
> If you run
>
> $ llvm-gcc -dumpmachine
> x86_64-unknown-linux-gnu
>
> And don't get x86_64-unknown-linux-gnu you know you have the wrong version
> (you can also run "llvm-gcc --verbose" to find out what options your
> compiler was built with too). The x86_64 version of llvm-gcc is here...
> http://llvm.org/releases/2.9/llvm-gcc4.2-2.9-x86_64-linux.tar.bz2
>
> If it is the case that you had the 32-bit version of llvm-gcc I would
> advise rebuilding uclibc, llvm and KLEE from scratch using your 64-bit
> llvm-gcc compiler just to be sure nothing gets messed up.
>
> Hope that helps,
>
> Regards,
> Dan Liew.
>
>
> On 14 September 2012 03:28, Qiuping Yi  wrote:
>
>> Dear Dan Liew,
>>
>> Thanks for your detailed info.
>> I followed you instructions, but I still have the error. And I got the
>> next information.
>>
>> $ llvm-ld --version
>> Low Level Virtual Machine (http://llvm.org/):
>>   llvm version 2.9
>>   Optimized build with assertions.
>>   Built Aug 12 2012 (10:31:59).
>>   Host: x86_64-unknown-linux-gnu
>>   Host CPU: penryn
>>
>>   Registered Targets:
>> (none)
>>
>> $ lli --version
>> Low Level Virtual Machine (http://llvm.org/):
>>   llvm version 2.9
>>   Optimized build with assertions.
>>   Built Aug 12 2012 (10:31:59).
>>   Host: x86_64-unknown-linux-gnu
>>   Host CPU: penryn
>>
>>   Registered Targets:
>> x86- 32-bit X86: Pentium-Pro and above
>> x86-64 - 64-bit X86: EM64T and AMD64
>>
>> *I checked the readable form of cat.bc, and I found the target triple is
>> "i386-pc-linux-gnu" not "**x86_64-unknown-linux-gnu"*. I think it is the
>> problem, how can I generate cat whose target triple is "*
>> x86_64-unknown-linux-gnu*"?
>>
>> $ file /sbin/init
>> /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
>> dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
>> BuildID[sha1]=0x029d6e45c81ad4eee2627f676b7580c9ed5fde47, stripped
>>
>> 
>> Qiuping Yi
>> Institute Of Software
>> Chinese Academy of Sciences
>>
>>
>> 2012/9/12 Delcypher 
>>
>>> Hi,
>>> Could you make sure you reply to the mailing rather than just me, else
>>> no one else but me will see your problem!
>>>
>>> I'm sorry but I don't know why you're getting this new error message. I
>>> never had that problem but you could try the following
>>>
>>> 0. Verify that you don't have multiple versions of LLVM installed. So
>>> verify that your output is similar to this...
>>> $ llvm-gcc --version
>>> llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2.9)
>>>
>>> $ llvm-ldd --version
>>> Low Level Virtual Machine (http://llvm.org/):
>>>   llvm version 2.9
>>>   Optimized build with assertions.
>>>
>>> $ lli --version
>>> Low Level Virtual Machine (http://llvm.org/):
>>>   llvm version 2.9
>>>   Optimized build with assertions.
>>>   Built Jul 20 2012 (11:49:59).
>>>   Host: x86_64-unknown-linux-gnu
>>>   Host CPU: penryn
>>>
>>>   Registered Targets:
>>> x86- 32-bit X86: Pentium-Pro and above
>>> x86-64 - 64-bit X86: EM64T and AMD64
>>>
>>> If "lli" doesn't have any registered targets then you will have
>>> problems! You will also have problems if your machines architecture is not
>>> listed.
>>>
>>> 1. delete the "obj-llvm" directory
>>> 2. Make sure LLVM_LIB_SEARCH_PATH is set
>>> 3. Now make the "obj-llvm" directory. Make sure this folder is NOT in
>>> the source tree for core-utils, in the instructions it seems to be. I
>>> prefer having something like core-utils/src and core-utils/obj-llvm as the
>>> source code and build directories respectively.
>>> $ mkdir obj-llvm
>>> $ cd obj-llvm/
>>> $ ../src/configure --disable-nls CFLAGS="-g"
>>> 4. Run make
>>> $ make CC=/path/to/klee-gcc
>>> 5. Now try again running cat again.
>>>
>>> If that fails inspect the produced bit code files (*.bc)
>>>
>>> $ llvm-dis cat.bc
>>>
>>> This will produce a "cat.ll" file. Which is the Bitcode file in human
>>> readable form, take a look and check your target triple is something like "
>>> x86_64-unknown-linux-gnu"
>>>
>>> Other than that I have nothing more to suggest because I don't know much
>>> about LLVM.
>>>
>>> Thanks,
>>> Dan Liew.
>>>
>>>
>>> On 11 September 2012 15:28, Qiuping Yi  wrote:
>>>
 yes, you are right. But after I executed "*make
 CC=/full/path/to/klee/scripts/klee-gcc*" successfully, I cannot
 successfully execute "*/cat --version*" following the guide, and I got
 the next error information.
>>>

Re: [klee-dev] error in Coreutils Case Study

2012-09-14 Thread Delcypher
Hi,

I'm not sure if the fact that your target triple i386-pc-linux-gnu is a
problem as x86_64 as far as I know is a super set of i386. However it is
surprising that your version of llvm-gcc is doing this which leads me to
believe you might of downloaded the 32-bit version of llvm-gcc by mistake.

If you run

$ llvm-gcc -dumpmachine
x86_64-unknown-linux-gnu

And don't get x86_64-unknown-linux-gnu you know you have the wrong version
(you can also run "llvm-gcc --verbose" to find out what options your
compiler was built with too). The x86_64 version of llvm-gcc is here...
http://llvm.org/releases/2.9/llvm-gcc4.2-2.9-x86_64-linux.tar.bz2

If it is the case that you had the 32-bit version of llvm-gcc I would
advise rebuilding uclibc, llvm and KLEE from scratch using your 64-bit
llvm-gcc compiler just to be sure nothing gets messed up.

Hope that helps,

Regards,
Dan Liew.


On 14 September 2012 03:28, Qiuping Yi  wrote:

> Dear Dan Liew,
>
> Thanks for your detailed info.
> I followed you instructions, but I still have the error. And I got the
> next information.
>
> $ llvm-ld --version
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 2.9
>   Optimized build with assertions.
>   Built Aug 12 2012 (10:31:59).
>   Host: x86_64-unknown-linux-gnu
>   Host CPU: penryn
>
>   Registered Targets:
> (none)
>
> $ lli --version
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 2.9
>   Optimized build with assertions.
>   Built Aug 12 2012 (10:31:59).
>   Host: x86_64-unknown-linux-gnu
>   Host CPU: penryn
>
>   Registered Targets:
> x86- 32-bit X86: Pentium-Pro and above
> x86-64 - 64-bit X86: EM64T and AMD64
>
> *I checked the readable form of cat.bc, and I found the target triple is
> "i386-pc-linux-gnu" not "**x86_64-unknown-linux-gnu"*. I think it is the
> problem, how can I generate cat whose target triple is "*
> x86_64-unknown-linux-gnu*"?
>
> $ file /sbin/init
> /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
> dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
> BuildID[sha1]=0x029d6e45c81ad4eee2627f676b7580c9ed5fde47, stripped
>
> 
> Qiuping Yi
> Institute Of Software
> Chinese Academy of Sciences
>
>
> 2012/9/12 Delcypher 
>
>> Hi,
>> Could you make sure you reply to the mailing rather than just me, else no
>> one else but me will see your problem!
>>
>> I'm sorry but I don't know why you're getting this new error message. I
>> never had that problem but you could try the following
>>
>> 0. Verify that you don't have multiple versions of LLVM installed. So
>> verify that your output is similar to this...
>> $ llvm-gcc --version
>> llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2.9)
>>
>> $ llvm-ldd --version
>> Low Level Virtual Machine (http://llvm.org/):
>>   llvm version 2.9
>>   Optimized build with assertions.
>>
>> $ lli --version
>> Low Level Virtual Machine (http://llvm.org/):
>>   llvm version 2.9
>>   Optimized build with assertions.
>>   Built Jul 20 2012 (11:49:59).
>>   Host: x86_64-unknown-linux-gnu
>>   Host CPU: penryn
>>
>>   Registered Targets:
>> x86- 32-bit X86: Pentium-Pro and above
>> x86-64 - 64-bit X86: EM64T and AMD64
>>
>> If "lli" doesn't have any registered targets then you will have problems!
>> You will also have problems if your machines architecture is not listed.
>>
>> 1. delete the "obj-llvm" directory
>> 2. Make sure LLVM_LIB_SEARCH_PATH is set
>> 3. Now make the "obj-llvm" directory. Make sure this folder is NOT in the
>> source tree for core-utils, in the instructions it seems to be. I prefer
>> having something like core-utils/src and core-utils/obj-llvm as the source
>> code and build directories respectively.
>> $ mkdir obj-llvm
>> $ cd obj-llvm/
>> $ ../src/configure --disable-nls CFLAGS="-g"
>> 4. Run make
>> $ make CC=/path/to/klee-gcc
>> 5. Now try again running cat again.
>>
>> If that fails inspect the produced bit code files (*.bc)
>>
>> $ llvm-dis cat.bc
>>
>> This will produce a "cat.ll" file. Which is the Bitcode file in human
>> readable form, take a look and check your target triple is something like "
>> x86_64-unknown-linux-gnu"
>>
>> Other than that I have nothing more to suggest because I don't know much
>> about LLVM.
>>
>> Thanks,
>> Dan Liew.
>>
>>
>> On 11 September 2012 15:28, Qiuping Yi  wrote:
>>
>>> yes, you are right. But after I executed "*make
>>> CC=/full/path/to/klee/scripts/klee-gcc*" successfully, I cannot
>>> successfully execute "*/cat --version*" following the guide, and I got
>>> the next error information.
>>>
>>> qiu@qiu:~/installed/coreutils-6.11/obj-llvm/src$ ./cat --version
>>> lli: JITEmitter.cpp:1141: void
>>> {anonymous}::JITEmitter::emitJumpTableInfo(llvm::MachineJumpTableInfo*):
>>> Assertion `MJTI->getEntrySize(*TheJIT->getTargetData()) == sizeof(void*) &&
>>> "Cross JIT'ing?"' failed.
>>> 0  lli 0x00b6edff
>>> 1  lli 0x00b6f309
>>> 2  l

Re: [klee-dev] error in Coreutils Case Study

2012-09-13 Thread Qiuping Yi
Dear Dan Liew,

Thanks for your detailed info.
I followed you instructions, but I still have the error. And I got the next
information.

$ llvm-ld --version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.9
  Optimized build with assertions.
  Built Aug 12 2012 (10:31:59).
  Host: x86_64-unknown-linux-gnu
  Host CPU: penryn

  Registered Targets:
(none)

$ lli --version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.9
  Optimized build with assertions.
  Built Aug 12 2012 (10:31:59).
  Host: x86_64-unknown-linux-gnu
  Host CPU: penryn

  Registered Targets:
x86- 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64

*I checked the readable form of cat.bc, and I found the target triple is
"i386-pc-linux-gnu" not "**x86_64-unknown-linux-gnu"*. I think it is the
problem, how can I generate cat whose target triple is "*
x86_64-unknown-linux-gnu*"?

$ file /sbin/init
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=0x029d6e45c81ad4eee2627f676b7580c9ed5fde47, stripped


Qiuping Yi
Institute Of Software
Chinese Academy of Sciences


2012/9/12 Delcypher 

> Hi,
> Could you make sure you reply to the mailing rather than just me, else no
> one else but me will see your problem!
>
> I'm sorry but I don't know why you're getting this new error message. I
> never had that problem but you could try the following
>
> 0. Verify that you don't have multiple versions of LLVM installed. So
> verify that your output is similar to this...
> $ llvm-gcc --version
> llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2.9)
>
> $ llvm-ldd --version
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 2.9
>   Optimized build with assertions.
>
> $ lli --version
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 2.9
>   Optimized build with assertions.
>   Built Jul 20 2012 (11:49:59).
>   Host: x86_64-unknown-linux-gnu
>   Host CPU: penryn
>
>   Registered Targets:
> x86- 32-bit X86: Pentium-Pro and above
> x86-64 - 64-bit X86: EM64T and AMD64
>
> If "lli" doesn't have any registered targets then you will have problems!
> You will also have problems if your machines architecture is not listed.
>
> 1. delete the "obj-llvm" directory
> 2. Make sure LLVM_LIB_SEARCH_PATH is set
> 3. Now make the "obj-llvm" directory. Make sure this folder is NOT in the
> source tree for core-utils, in the instructions it seems to be. I prefer
> having something like core-utils/src and core-utils/obj-llvm as the source
> code and build directories respectively.
> $ mkdir obj-llvm
> $ cd obj-llvm/
> $ ../src/configure --disable-nls CFLAGS="-g"
> 4. Run make
> $ make CC=/path/to/klee-gcc
> 5. Now try again running cat again.
>
> If that fails inspect the produced bit code files (*.bc)
>
> $ llvm-dis cat.bc
>
> This will produce a "cat.ll" file. Which is the Bitcode file in human
> readable form, take a look and check your target triple is something like "
> x86_64-unknown-linux-gnu"
>
> Other than that I have nothing more to suggest because I don't know much
> about LLVM.
>
> Thanks,
> Dan Liew.
>
>
> On 11 September 2012 15:28, Qiuping Yi  wrote:
>
>> yes, you are right. But after I executed "*make
>> CC=/full/path/to/klee/scripts/klee-gcc*" successfully, I cannot
>> successfully execute "*/cat --version*" following the guide, and I got
>> the next error information.
>>
>> qiu@qiu:~/installed/coreutils-6.11/obj-llvm/src$ ./cat --version
>> lli: JITEmitter.cpp:1141: void
>> {anonymous}::JITEmitter::emitJumpTableInfo(llvm::MachineJumpTableInfo*):
>> Assertion `MJTI->getEntrySize(*TheJIT->getTargetData()) == sizeof(void*) &&
>> "Cross JIT'ing?"' failed.
>> 0  lli 0x00b6edff
>> 1  lli 0x00b6f309
>> 2  libpthread.so.0 0x7f3595437cb0
>> 3  libc.so.6   0x7f359468d445 gsignal + 53
>> 4  libc.so.6   0x7f3594690bab abort + 379
>> 5  libc.so.6   0x7f359468610e
>> 6  libc.so.6   0x7f35946861b2
>> 7  lli 0x0078e8a6
>> 8  lli 0x0054dfc0
>> 9  lli 0x00b00acf
>> llvm::FPPassManager::runOnFunction(llvm::Function&) + 591
>> 10 lli 0x00b0150d
>> llvm::FunctionPassManagerImpl::run(llvm::Function&) + 141
>> 11 lli 0x00b016cd
>> llvm::FunctionPassManager::run(llvm::Function&) + 173
>> 12 lli 0x00780d8e
>> llvm::JIT::jitTheFunction(llvm::Function*, llvm::MutexGuard const&) + 46
>> 13 lli 0x0078114c
>> llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard
>> const&) + 28
>> 14 lli 0x00781440
>> llvm::JIT::getPointerToFunction(llvm::Function*) + 576
>> 15 lli 0x0077f677
>> llvm::JIT::runFunction(llvm::Function*, std::vector> std::allocator > const&) + 71
>> 16 lli

Re: [klee-dev] error in Coreutils Case Study

2012-09-12 Thread Delcypher
Hi,
Could you make sure you reply to the mailing rather than just me, else no
one else but me will see your problem!

I'm sorry but I don't know why you're getting this new error message. I
never had that problem but you could try the following

0. Verify that you don't have multiple versions of LLVM installed. So
verify that your output is similar to this...
$ llvm-gcc --version
llvm-gcc (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2.9)

$ llvm-ldd --version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.9
  Optimized build with assertions.

$ lli --version
Low Level Virtual Machine (http://llvm.org/):
  llvm version 2.9
  Optimized build with assertions.
  Built Jul 20 2012 (11:49:59).
  Host: x86_64-unknown-linux-gnu
  Host CPU: penryn

  Registered Targets:
x86- 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64

If "lli" doesn't have any registered targets then you will have problems!
You will also have problems if your machines architecture is not listed.

1. delete the "obj-llvm" directory
2. Make sure LLVM_LIB_SEARCH_PATH is set
3. Now make the "obj-llvm" directory. Make sure this folder is NOT in the
source tree for core-utils, in the instructions it seems to be. I prefer
having something like core-utils/src and core-utils/obj-llvm as the source
code and build directories respectively.
$ mkdir obj-llvm
$ cd obj-llvm/
$ ../src/configure --disable-nls CFLAGS="-g"
4. Run make
$ make CC=/path/to/klee-gcc
5. Now try again running cat again.

If that fails inspect the produced bit code files (*.bc)

$ llvm-dis cat.bc

This will produce a "cat.ll" file. Which is the Bitcode file in human
readable form, take a look and check your target triple is something like "
x86_64-unknown-linux-gnu"

Other than that I have nothing more to suggest because I don't know much
about LLVM.

Thanks,
Dan Liew.


On 11 September 2012 15:28, Qiuping Yi  wrote:

> yes, you are right. But after I executed "*make
> CC=/full/path/to/klee/scripts/klee-gcc*" successfully, I cannot
> successfully execute "*/cat --version*" following the guide, and I got
> the next error information.
>
> qiu@qiu:~/installed/coreutils-6.11/obj-llvm/src$ ./cat --version
> lli: JITEmitter.cpp:1141: void
> {anonymous}::JITEmitter::emitJumpTableInfo(llvm::MachineJumpTableInfo*):
> Assertion `MJTI->getEntrySize(*TheJIT->getTargetData()) == sizeof(void*) &&
> "Cross JIT'ing?"' failed.
> 0  lli 0x00b6edff
> 1  lli 0x00b6f309
> 2  libpthread.so.0 0x7f3595437cb0
> 3  libc.so.6   0x7f359468d445 gsignal + 53
> 4  libc.so.6   0x7f3594690bab abort + 379
> 5  libc.so.6   0x7f359468610e
> 6  libc.so.6   0x7f35946861b2
> 7  lli 0x0078e8a6
> 8  lli 0x0054dfc0
> 9  lli 0x00b00acf
> llvm::FPPassManager::runOnFunction(llvm::Function&) + 591
> 10 lli 0x00b0150d
> llvm::FunctionPassManagerImpl::run(llvm::Function&) + 141
> 11 lli 0x00b016cd
> llvm::FunctionPassManager::run(llvm::Function&) + 173
> 12 lli 0x00780d8e
> llvm::JIT::jitTheFunction(llvm::Function*, llvm::MutexGuard const&) + 46
> 13 lli 0x0078114c
> llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard
> const&) + 28
> 14 lli 0x00781440
> llvm::JIT::getPointerToFunction(llvm::Function*) + 576
> 15 lli 0x0077f677
> llvm::JIT::runFunction(llvm::Function*, std::vector std::allocator > const&) + 71
> 16 lli 0x00a0f292
> llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*,
> std::vector > const&, char const*
> const*) + 722
> 17 lli 0x00504665 main + 1829
> 18 libc.so.6   0x7f359467876d __libc_start_main + 237
> 19 lli 0x0050b6c9
> Stack dump:
> 0. Program arguments: lli cat.bc --version
> 1. Running pass 'X86 Machine Code Emitter' on function '@main'
>
>
> 
> Qiuping Yi
> Institute Of Software
> Chinese Academy of Sciences
>
>
> 2012/9/11 Delcypher 
>
>> LLVM-LD can't find the libraries it needs to link with. In the is case
>> librt (the realtime library).
>>
>> Find the location of librt.a on your system and set the
>> LLVM_LIB_SEARCH_PATH variable before you run make.
>>
>> For example on my system librt is in /usr/lib/ so I would run in my shell
>>
>> $ export LLVM_LIB_SEARCH_PATH=/usr/lib
>>
>> Read the manpage of llvm-ld for more information.
>>
>> That should fix your problem.
>>
>> Regards,
>> Dan Liew.
>>
>> On 11 September 2012 10:02, Qiuping Yi  wrote:
>>
>>> Dear everyone,
>>>
>>> I am a new user of klee, today I began to test the "coreutils case
>>> study" following the
>>> instructions in klee.llvm.org/TestingCoreutils.html. In the second step
>>> (build coreutils with llvm),
>>> I got the next error information when I executed "*obj-llvm$ make
>>> CC=/full/path/

Re: [klee-dev] error in Coreutils Case Study

2012-09-11 Thread Delcypher
LLVM-LD can't find the libraries it needs to link with. In the is case
librt (the realtime library).

Find the location of librt.a on your system and set the
LLVM_LIB_SEARCH_PATH variable before you run make.

For example on my system librt is in /usr/lib/ so I would run in my shell

$ export LLVM_LIB_SEARCH_PATH=/usr/lib

Read the manpage of llvm-ld for more information.

That should fix your problem.

Regards,
Dan Liew.

On 11 September 2012 10:02, Qiuping Yi  wrote:

> Dear everyone,
>
> I am a new user of klee, today I began to test the "coreutils case study"
> following the
> instructions in klee.llvm.org/TestingCoreutils.html. In the second step
> (build coreutils with llvm),
> I got the next error information when I executed "*obj-llvm$ make
> CC=/full/path/to/klee/scripts/klee-gcc*" .
> What should I do to correct the error? Thank you all very much!
>
> /home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o chmod
> chmod.o ../lib/libcoreutils.a  ../lib/libcoreutils.a
> /home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
>  -I../../lib   -g -MT cp.o -MD -MP -MF .deps/cp.Tpo -c -o cp.o
> ../../src/cp.c
> mv -f .deps/cp.Tpo .deps/cp.Po
> /home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
>  -I../../lib   -g -MT copy.o -MD -MP -MF .deps/copy.Tpo -c -o copy.o
> ../../src/copy.c
> mv -f .deps/copy.Tpo .deps/copy.Po
> /home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
>  -I../../lib   -g -MT cp-hash.o -MD -MP -MF .deps/cp-hash.Tpo -c -o
> cp-hash.o ../../src/cp-hash.c
>  mv -f .deps/cp-hash.Tpo .deps/cp-hash.Po
> /home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o cp cp.o
> copy.o cp-hash.o ../lib/libcoreutils.a  ../lib/libcoreutils.a
> /home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
>  -I../../lib   -g -MT dd.o -MD -MP -MF .deps/dd.Tpo -c -o dd.o
> ../../src/dd.c
> mv -f .deps/dd.Tpo .deps/dd.Po
> /home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o dd dd.o
> ../lib/libcoreutils.a  ../lib/libcoreutils.a -lrt
> llvm-ld: error: Cannot find library 'rt'
> make[3]: *** [dd] Error 1
> make[3]: Leaving directory
> `/home/qiu/installed/coreutils-6.11/obj-llvm/src'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/home/qiu/installed/coreutils-6.11/obj-llvm/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/qiu/installed/coreutils-6.11/obj-llvm'
> 
> Qiuping Yi
> Institute Of Software
> Chinese Academy of Sciences
>
> ___
> klee-dev mailing list
> klee-dev@keeda.stanford.edu
> http://keeda.Stanford.EDU/mailman/listinfo/klee-dev
>
>
___
klee-dev mailing list
klee-dev@keeda.stanford.edu
http://keeda.Stanford.EDU/mailman/listinfo/klee-dev


[klee-dev] error in Coreutils Case Study

2012-09-11 Thread Qiuping Yi
Dear everyone,

I am a new user of klee, today I began to test the "coreutils case study"
following the
instructions in klee.llvm.org/TestingCoreutils.html. In the second step
(build coreutils with llvm),
I got the next error information when I executed "*obj-llvm$ make
CC=/full/path/to/klee/scripts/klee-gcc*" .
What should I do to correct the error? Thank you all very much!

/home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o chmod
chmod.o ../lib/libcoreutils.a  ../lib/libcoreutils.a
/home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
 -I../../lib   -g -MT cp.o -MD -MP -MF .deps/cp.Tpo -c -o cp.o
../../src/cp.c
mv -f .deps/cp.Tpo .deps/cp.Po
/home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
 -I../../lib   -g -MT copy.o -MD -MP -MF .deps/copy.Tpo -c -o copy.o
../../src/copy.c
mv -f .deps/copy.Tpo .deps/copy.Po
/home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
 -I../../lib   -g -MT cp-hash.o -MD -MP -MF .deps/cp-hash.Tpo -c -o
cp-hash.o ../../src/cp-hash.c
mv -f .deps/cp-hash.Tpo .deps/cp-hash.Po
/home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o cp cp.o
copy.o cp-hash.o ../lib/libcoreutils.a  ../lib/libcoreutils.a
/home/yq/installed/klee/scripts/klee-gcc  -I. -I../../src -I../lib
 -I../../lib   -g -MT dd.o -MD -MP -MF .deps/dd.Tpo -c -o dd.o
../../src/dd.c
mv -f .deps/dd.Tpo .deps/dd.Po
/home/yq/installed/klee/scripts/klee-gcc  -g  -Wl,--as-needed -o dd dd.o
../lib/libcoreutils.a  ../lib/libcoreutils.a -lrt
llvm-ld: error: Cannot find library 'rt'
make[3]: *** [dd] Error 1
make[3]: Leaving directory `/home/qiu/installed/coreutils-6.11/obj-llvm/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/qiu/installed/coreutils-6.11/obj-llvm/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/qiu/installed/coreutils-6.11/obj-llvm'

Qiuping Yi
Institute Of Software
Chinese Academy of Sciences
___
klee-dev mailing list
klee-dev@keeda.stanford.edu
http://keeda.Stanford.EDU/mailman/listinfo/klee-dev