Reputation: 1
I'm trying to build Coreutils with LLVM, using klee docker based on step 3 on https://klee.github.io/tutorials/testing-coreutils/.
But I found a problem on running:
CC=wllvm ../configure --disable-nls CFLAGS="-g -O1 -Xclang -disable-llvm-passes -D__NO_STRING_INLINES -D_FORTIFY_SOURCE=0 -U__OPTIMIZE__"
it says
checking for gcc... wllvm
checking whether the C compiler works... no
configure: error: in `/home/klee/coreutils-8.0/obj2':
configure: error: C compiler cannot create executables
See `config.log' for more details.
before running the code above I have install wllvm before through
pip install --upgrade wllvm
and already installed
Requirement already up-to-date: wllvm in /home/klee/.local/lib/python2.7/site-packages
But although I already installed it, it still produces error, and I don't know how to handle it, I have use the solution provided in C compiler cannot create executables during build of Coreutils with LLVM, but nothing different,
after that I follow instruction in https://github.com/travitch/whole-program-llvm/issues/68, said to use clang rather than wllvm. The program was running after that, but error again on execute
find . -executable -type f | xargs -I '{}' extract-bc '{}'
that say
xargs: extract-bc: No such file or directory
After searching any source, I still can't solve it.
this is part of the config.log when wllvm not found
../configure: line 4240: wllvm: command not found
configure:4249: $? = 127
configure:4269: checking whether the C compiler works
configure:4291: wllvm -g -O1 -Xclang -disable-llvm-passes -D__NO_STRING_INLINES -D_FORTIFY_SOURCE=0 -U__OPTIMIZE__ conftest.c >&5
../configure: line 4293: wllvm: command not found
configure:4295: $? = 127
configure:4333: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU coreutils"
| #define PACKAGE_TARNAME "coreutils"
| #define PACKAGE_VERSION "8.0"
| #define PACKAGE_STRING "GNU coreutils 8.0"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL "http://www.gnu.org/software/coreutils/"
| #define PACKAGE "coreutils"
| #define VERSION "8.0"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4338: error: in `/home/klee/coreutils-8.0/obj-llvm':
configure:4342: error: C compiler cannot create executables
See `config.log' for more details.
Upvotes: 0
Views: 486
Reputation: 85
It seems that wllvm
is simply not in your $PATH
. You can check that with which
; for example for me it is:
$ which wllvm
/home/#####/.local/bin/wllvm
Related: How to add a directory to the PATH?
Upvotes: 0