[cfe-dev] linking error when running libTooling tutorial

Lou Wynn via cfe-dev cfe-dev at lists.llvm.org
Mon Oct 22 03:13:51 PDT 2018


I followed the libTooling tutorial at here: 
http://clang.llvm.org/docs/LibASTMatchersTutorial.html to write the 
loop-convert program. When I built it, I got the following error (I used 
the unofficial monorepo to build clang):


$ ninja loop-convert
[1/1] Linking CXX executable bin/loop-convert
FAILED: : && /usr/bin/clang++-6.0   -fPIC -fvisibility-inlines-hidden 
-Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall 
-Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual 
-Wmissing-field-initializers -pedantic -Wno-long-long 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color 
-fno-common -Woverloaded-virtual -Wno-nested-anon-types -g  
-fuse-ld=lld-6.0 -Wl,--color-diagnostics -Wl,-allow-shlib-undefined 
tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o 
-o bin/loop-convert  lib/libLLVMSupport.so.8svn -lpthread 
lib/libclangTooling.so.8svn lib/libclangBasic.so.8svn 
lib/libclangASTMatchers.so.8svn -Wl,-rpath,"\$ORIGIN/../lib" && :
/usr/bin/ld.lld-6.0: error: undefined symbol: 
clang::PCHContainerOperations::PCHContainerOperations()
 >>> referenced by new_allocator.h:120 
(/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/ext/new_allocator.h:120)
 >>> 
tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(void 
__gnu_cxx::new_allocator<clang::PCHContainerOperations>::construct<clang::PCHContainerOperations>(clang::PCHContainerOperations*))

/usr/bin/ld.lld-6.0: error: undefined symbol: vtable for 
clang::SyntaxOnlyAction
 >>> referenced by FrontendActions.h:158 
(/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendActions.h:158)
 >>> 
tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::SyntaxOnlyAction::SyntaxOnlyAction())

/usr/bin/ld.lld-6.0: error: undefined symbol: 
clang::FrontendAction::FrontendAction()
 >>> referenced by FrontendAction.h:253 
(/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendAction.h:253)
 >>> 
tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::ASTFrontendAction::ASTFrontendAction())

/usr/bin/ld.lld-6.0: error: undefined symbol: vtable for 
clang::ASTFrontendAction
 >>> referenced by FrontendAction.h:253 
(/home/lu/work/git-repos/llvm-mono/llvm-project/clang/include/clang/Frontend/FrontendAction.h:253)
 >>> 
tools/clang/tools/extra/loop-convert/CMakeFiles/loop-convert.dir/LoopConvert.cpp.o:(clang::ASTFrontendAction::ASTFrontendAction())
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
ninja: build stopped: subcommand failed.


Can anyone point me to the right direction to fix it?

Thanks.

-- 
Love,
Lou

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181022/76e5f242/attachment.html>


More information about the cfe-dev mailing list