On 17 September 2014 20:10, Mark R. Tuttle <[email protected]> wrote: > I just did a "git pull" to grab the latest commit (2497fdc) and ran into > trouble building against LLVM 3.3 and running the regression tests. > > Build failed in file src/tools/klee/main.cpp in function > KleeHandler::openOutputFile > > #if LLVM_VERSION_CODE >= LLVM_VERSION(3,5) > f = new llvm::raw_fd_ostream(path.c_str(), Error, llvm::sys::fs::F_None); > #elif LLVM_VERSION_CODE >= LLVM_VERSION(3,0) > f = new llvm::raw_fd_ostream(path.c_str(), Error, > llvm::sys::fs::F_Binary); > #else > f = new llvm::raw_fd_ostream(path.c_str(), Error, > llvm::raw_fd_ostream::F_Binary); > #endif > > because llvm::sys::fs::F_Binary was not defined. LLVM 3.3 source code seems > to define llvm::raw_fd_ostream::F_Binary and not llvm::sys::fs:F_Binary. I > changed the reference to LLVM version 3.0 to 3.4 and the build succeeded.
We are currently targeting LLVM2.9 and LLVM3.4 [1] and are not testing LLVM3.3 build support. Do you need to use LLVM3.3 for any particular reason? We'd happily accept a patch to fix your compilation error provided it doesn't break the configurations we're testing right now. > Regression tests failed with > > Failing Tests (20): > KLEE :: Concrete/BitwiseOps.ll > KLEE :: Concrete/BoolReadWrite.ll > KLEE :: Concrete/Casts.ll > KLEE :: Concrete/CmpEq.ll > KLEE :: Concrete/ConstantExpr.ll > KLEE :: Concrete/FloatingPointOps.ll > KLEE :: Concrete/GlobalInitializers.ll > KLEE :: Concrete/GlobalUndef.ll > KLEE :: Concrete/GlobalVariable.ll > KLEE :: Concrete/ICmp.ll > KLEE :: Concrete/OneCall.ll > KLEE :: Concrete/OverlappingPhiNodes.ll > KLEE :: Concrete/Select.ll > KLEE :: Concrete/Shifts.ll > KLEE :: Concrete/SimpleStoreAndLoad.ll > KLEE :: Concrete/UnconditionalBranch.ll > KLEE :: Concrete/UnconditionalBranchWithSimplePhi.ll > KLEE :: Concrete/UnorderedPhiNodes.ll > KLEE :: Concrete/ackermann.c > KLEE :: Concrete/arith_test.ll > > Expected Passes : 131 > Expected Failures : 2 > Unsupported Tests : 1 > Unexpected Failures: 20 > > Each regression failure generates output of the form > > Command 0 Stderr: > Traceback (most recent call last): > File "ROOT/klee/src/test/Concrete/ConcreteTest.py", line 72, in <module> > main() > File "ROOT/klee/src/test/Concrete/ConcreteTest.py", line 69, in main > testFile(test_name, opts.klee_path, opts.lli_path) > File "ROOT/klee/src/test/Concrete/ConcreteTest.py", line 26, in testFile > lliOut = subprocess.check_output(lli_cmd).decode() > AttributeError: 'module' object has no attribute 'check_output' What version of python2 are you using? I have 2.7.8 and it works fine. > I'm using Python2 and ConcreteTest.py line 26 refers to Python3. Using > Python3 fails with an error pointing to the LLVM 3.3 source tree It's likely that the version of llvm-lit in the LLVM3.3 source tree doesn't support Python3 As a temporary work around you could change #!/usr/bin/python to the path to your Python3 installation in ConcreteTest.py [1] https://travis-ci.org/klee/klee Thanks, Dan. _______________________________________________ klee-dev mailing list [email protected] https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
