Build error on current Amazon Linux 2


pjsg-iovisor@...
 

Before I started to make a small change to bcc, I thought that I ought to verify that 'master' would actually build -- I'm running on Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0b69ea66ff7391e80. I followed the instructions in INSTALL.md and the make actually fails:

Scanning dependencies of target bcc-lua

[ 38%] Building C object src/lua/CMakeFiles/bcc-lua.dir/src/main.c.o

[ 39%] Linking C executable bcc-lua

[ 39%] Built target bcc-lua

Scanning dependencies of target bps

[ 39%] Building C object introspection/CMakeFiles/bps.dir/bps.c.o

[ 39%] Linking C executable bps

[ 39%] Built target bps

Scanning dependencies of target FollyRequestContextSwitch

[ 40%] Building CXX object examples/cpp/CMakeFiles/FollyRequestContextSwitch.dir/FollyRequestContextSwitch.cc.o

[ 40%] Linking CXX executable FollyRequestContextSwitch

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::genParamIndirectAssign(clang::FunctionDecl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const**)':

b_frontend_action.cc:(.text+0x1d55): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::genParamDirectAssign(clang::FunctionDecl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const**)':

b_frontend_action.cc:(.text+0x32d7): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::VisitBinaryOperator(clang::BinaryOperator*)':

b_frontend_action.cc:(.text+0x4353): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::VisitFunctionDecl(clang::FunctionDecl*)':


Has anyone else seen this? 

Thanks

Philip


Yonghong Song
 

What is your llvm version? What is your cmake output? Looks like llvm
libraries are not really linked?

On Wed, Sep 18, 2019 at 7:56 PM <pjsg-iovisor@...> wrote:

Before I started to make a small change to bcc, I thought that I ought to verify that 'master' would actually build -- I'm running on Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0b69ea66ff7391e80. I followed the instructions in INSTALL.md and the make actually fails:

Scanning dependencies of target bcc-lua

[ 38%] Building C object src/lua/CMakeFiles/bcc-lua.dir/src/main.c.o

[ 39%] Linking C executable bcc-lua

[ 39%] Built target bcc-lua

Scanning dependencies of target bps

[ 39%] Building C object introspection/CMakeFiles/bps.dir/bps.c.o

[ 39%] Linking C executable bps

[ 39%] Built target bps

Scanning dependencies of target FollyRequestContextSwitch

[ 40%] Building CXX object examples/cpp/CMakeFiles/FollyRequestContextSwitch.dir/FollyRequestContextSwitch.cc.o

[ 40%] Linking CXX executable FollyRequestContextSwitch

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::genParamIndirectAssign(clang::FunctionDecl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const**)':

b_frontend_action.cc:(.text+0x1d55): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::genParamDirectAssign(clang::FunctionDecl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const**)':

b_frontend_action.cc:(.text+0x32d7): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::VisitBinaryOperator(clang::BinaryOperator*)':

b_frontend_action.cc:(.text+0x4353): undefined reference to `clang::Rewriter::getRewrittenText[abi:cxx11](clang::SourceRange) const'

../../src/cc/frontends/clang/libclang_frontend.a(b_frontend_action.cc.o): In function `ebpf::BTypeVisitor::VisitFunctionDecl(clang::FunctionDecl*)':


Has anyone else seen this?

Thanks

Philip