{"action":"opened","issue":{"url":"https://api.github.com/repos/klee/klee/issues/384","repository_url":"https://api.github.com/repos/klee/klee","labels_url":"https://api.github.com/repos/klee/klee/issues/384/labels{/name}","comments_url":"https://api.github.com/repos/klee/klee/issues/384/comments","events_url":"https://api.github.com/repos/klee/klee/issues/384/events","html_url":"https://github.com/klee/klee/issues/384","id":153351242,"number":384,"title":"issue while compiling KLEE with LLVM-3.5","user":{"login":"sohaibayub","id":3404286,"avatar_url":"https://avatars.githubusercontent.com/u/3404286?v=3","gravatar_id":"","url":"https://api.github.com/users/sohaibayub","html_url":"https://github.com/sohaibayub","followers_url":"https://api.github.com/users/sohaibayub/followers","following_url":"https://api.github.com/users/sohaibayub/following{/other_user}","gists_url":"https://api.github.com/users/sohaibayub/gists{/gist_id}","starred_url":"https://api.github.com/users/sohaibayub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sohaibayub/subscriptions","organizations_url":"https://api.github.com/users/sohaibayub/orgs","repos_url":"https://api.github.com/users/sohaibayub/repos","events_url":"https://api.github.com/users/sohaibayub/events{/privacy}","received_events_url":"https://api.github.com/users/sohaibayub/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-05T23:52:01Z","updated_at":"2016-05-05T23:52:01Z","closed_at":null,"body":" I need to build KLEE with LLVM-3.5 because my other project generates bitcode files using LLVM-3.5 and same files needs to executed using KLEE. But when I try to make KLEE with LLVM-3.5, it gives error in ModuleUtil.cpp at line number 215. Can you help me to resolve the error. Thanks\r\n\r\n> llvm[2]: Compiling ModuleUtil.cpp for Release+Asserts build\r\n> ModuleUtil.cpp: In function ‘bool linkBCA(llvm::object::Archive*, llvm::Module*, std::__cxx11::string&)’:\r\n> ModuleUtil.cpp:215:54: error: ‘class llvm::object::Archive’ has no member named ‘begin_children’\r\n>    for (object::Archive::child_iterator AI = archive->begin_children(),\r\n>                                                       ^\r\n> ModuleUtil.cpp:216:44: error: ‘AE’ was not declared in this scope\r\n>         AE = archive->end_children(); AI != AE; ++AI)\r\n>                                             ^\r\n> ModuleUtil.cpp:220:5: error: ‘error_code’ was not declared in this scope\r\n>      error_code ec = AI->getName(memberName);\r\n>      ^\r\n> ModuleUtil.cpp:220:5: note: suggested alternative:\r\n> In file included from /usr/include/c++/5/bits/ios_base.h:46:0,\r\n>                  from /usr/include/c++/5/ios:42,\r\n>                  from /usr/include/c++/5/ostream:38,\r\n>                  from /usr/include/c++/5/iterator:64,\r\n>                  from ../Core/SpecialFunctionHandler.h:13,\r\n>                  from ModuleUtil.cpp:15:\r\n> /usr/include/c++/5/system_error:138:10: note:   ‘std::error_code’\r\n>    struct error_code\r\n>           ^\r\n> ModuleUtil.cpp:222:10: error: ‘ec’ was not declared in this scope\r\n>      if ( ec == errc::success )\r\n>           ^\r\n> ModuleUtil.cpp:222:16: error: ‘errc’ has not been declared\r\n>      if ( ec == errc::success )\r\n>                 ^\r\n> ModuleUtil.cpp:232:5: error: ‘OwningPtr’ was not declared in this scope\r\n>      OwningPtr<object::Binary> child;\r\n>      ^\r\n> ModuleUtil.cpp:232:29: error: expected primary-expression before ‘>’ token\r\n>      OwningPtr<object::Binary> child;\r\n>                              ^\r\n> ModuleUtil.cpp:232:31: error: ‘child’ was not declared in this scope\r\n>      OwningPtr<object::Binary> child;\r\n>                                ^\r\n> ModuleUtil.cpp:233:5: error: ‘ec’ was not declared in this scope\r\n>      ec = AI->getAsBinary(child);\r\n>      ^\r\n> ModuleUtil.cpp:238:29: error: expected primary-expression before ‘>’ token\r\n>        OwningPtr<MemoryBuffer> buff; // Once this is destroyed will Module still\r\n>                              ^\r\n> ModuleUtil.cpp:238:31: error: ‘buff’ was not declared in this scope\r\n>        OwningPtr<MemoryBuffer> buff; // Once this is destroyed will Module still\r\n>                                ^\r\n> ModuleUtil.cpp:241:22: error: expected ‘)’ before ‘ec’\r\n>        if (error_code ec = AI->getMemoryBuffer(buff))\r\n>                       ^\r\n> ModuleUtil.cpp:251:80: error: ‘ParseBitcodeFile’ was not declared in this scope\r\n>        Result = ParseBitcodeFile(buff.get(), getGlobalContext(), &errorMessage);\r\n>                                                                               ^\r\n> ModuleUtil.cpp: In function ‘llvm::Module* klee::linkWithLibrary(llvm::Module*, const string&)’:\r\n> ModuleUtil.cpp:373:3: error: ‘OwningPtr’ was not declared in this scope\r\n>    OwningPtr<MemoryBuffer> Buffer;\r\n>    ^\r\n> ModuleUtil.cpp:373:25: error: expected primary-expression before ‘>’ token\r\n>    OwningPtr<MemoryBuffer> Buffer;\r\n>                          ^\r\n> ModuleUtil.cpp:373:27: error: ‘Buffer’ was not declared in this scope\r\n>    OwningPtr<MemoryBuffer> Buffer;\r\n>                            ^\r\n> ModuleUtil.cpp:374:7: error: ‘error_code’ was not declared in this scope\r\n>    if (error_code ec = MemoryBuffer::getFile(libraryName,Buffer)) {\r\n>        ^\r\n> ModuleUtil.cpp:374:7: note: suggested alternative:\r\n> In file included from /usr/include/c++/5/bits/ios_base.h:46:0,\r\n>                  from /usr/include/c++/5/ios:42,\r\n>                  from /usr/include/c++/5/ostream:38,\r\n>                  from /usr/include/c++/5/iterator:64,\r\n>                  from ../Core/SpecialFunctionHandler.h:13,\r\n>                  from ModuleUtil.cpp:15:\r\n> /usr/include/c++/5/system_error:138:10: note:   ‘std::error_code’\r\n>    struct error_code\r\n>           ^\r\n> ModuleUtil.cpp:374:18: error: expected ‘)’ before ‘ec’\r\n>    if (error_code ec = MemoryBuffer::getFile(libraryName,Buffer)) {\r\n>                   ^\r\n> ModuleUtil.cpp:376:9: error: ‘ec’ was not declared in this scope\r\n>          ec.message().c_str());\r\n>          ^\r\n> ModuleUtil.cpp:386:67: error: ‘ParseBitcodeFile’ was not declared in this scope\r\n>      Result = ParseBitcodeFile(Buffer.get(), Context, &ErrorMessage);\r\n>                                                                    ^\r\n> ModuleUtil.cpp:397:29: error: expected primary-expression before ‘>’ token\r\n>      OwningPtr<object::Binary> arch;\r\n>                              ^\r\n> ModuleUtil.cpp:397:31: error: ‘arch’ was not declared in this scope\r\n>      OwningPtr<object::Binary> arch;\r\n>                                ^\r\n> ModuleUtil.cpp:398:9: error: ‘error_code’ was not declared in this scope\r\n>      if (error_code ec = object::createBinary(Buffer.take(), arch))\r\n>          ^\r\n> ModuleUtil.cpp:398:9: note: suggested alternative:\r\n> In file included from /usr/include/c++/5/bits/ios_base.h:46:0,\r\n>                  from /usr/include/c++/5/ios:42,\r\n>                  from /usr/include/c++/5/ostream:38,\r\n>                  from /usr/include/c++/5/iterator:64,\r\n>                  from ../Core/SpecialFunctionHandler.h:13,\r\n>                  from ModuleUtil.cpp:15:\r\n> /usr/include/c++/5/system_error:138:10: note:   ‘std::error_code’\r\n>    struct error_code\r\n>           ^\r\n> ModuleUtil.cpp:398:20: error: expected ‘)’ before ‘ec’\r\n>      if (error_code ec = object::createBinary(Buffer.take(), arch))\r\n>                     ^\r\n> ModuleUtil.cpp:400:11: error: ‘ec’ was not declared in this scope\r\n>            ec.message().c_str());\r\n>            ^\r\n> ModuleUtil.cpp:413:29: error: expected primary-expression before ‘>’ token\r\n>      OwningPtr<object::Binary> obj;\r\n>                              ^\r\n> ModuleUtil.cpp:413:31: error: ‘obj’ was not declared in this scope\r\n>      OwningPtr<object::Binary> obj;\r\n>                                ^\r\n> /bin/rm: cannot remove '/home/sohaib/klee/lib/Module/Release+Asserts/ModuleUtil.d.tmp': No such file or directory\r\n> /home/sohaib/klee/Makefile.rules:1466: recipe for target '/home/sohaib/klee/lib/Module/Release+Asserts/ModuleUtil.o' failed\r\n> make[2]: *** [/home/sohaib/klee/lib/Module/Release+Asserts/ModuleUtil.o] Error 1\r\n> make[2]: Leaving directory '/home/sohaib/klee/lib/Module'\r\n> /home/sohaib/klee/Makefile.rules:806: recipe for target 'Module/.makeall' failed\r\n> make[1]: *** [Module/.makeall] Error 2\r\n> make[1]: Leaving directory '/home/sohaib/klee/lib'\r\n> /home/sohaib/klee/Makefile.rules:757: recipe for target 'all' failed\r\n> make: *** [all] Error 1"}}