[cfe-dev] Compile Clang 4.0 from source using LLVM_CONFIG

Tom Stellard via cfe-dev cfe-dev at lists.llvm.org
Wed May 24 15:16:33 PDT 2017


On 05/08/2017 02:17 AM, Stefano Azzalini via cfe-dev wrote:
> I'm trying to compile clang from source without compiling all the llvm stack
> but using a prebuild one and using LLVM_CONFIG to point to it.
> I have llvm from http://releases.llvm.org/4.0.0/clang+llvm-4.0.0-debina8.tar.xz 
> and the clang source from http://releases.llvm.org/4.0.0/cfe-4.0.0.src.tar.xz
> 

Hi,

I just ran into this same issue and posted about it on llvm-dev:

http://lists.llvm.org/pipermail/llvm-dev/2017-May/113313.html

Did you ever find a solution?

-Tom


> After unpacking everything I ran:
> 
> |cmake -DLLVM_CONFIG=$PWD/../clang+llvm/bin/llvm-config ../clang-src|
> |make -j8|
> 
> 
> The compilation process goes fine until the liking for clang itself.
> Following the error that I got.
> Do I miss something?
> 
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `(anonymous namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >)':|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x12f): undefined reference to `llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>::AnalysisManager(bool)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x143): undefined reference to `llvm::AnalysisManager<llvm::Function>::AnalysisManager(bool)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x157): undefined reference to `llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>::AnalysisManager(bool)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x16b): undefined reference to `llvm::AnalysisManager<llvm::Module>::AnalysisManager(bool)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1ab): undefined reference to `llvm::PassBuilder::registerModuleAnalyses(llvm::AnalysisManager<llvm::Module>&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1c4): undefined reference to `llvm::PassBuilder::registerCGSCCAnalyses(llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1dd): undefined reference to `llvm::PassBuilder::registerFunctionAnalyses(llvm::AnalysisManager<llvm::Function>&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x1f6): undefined reference to `llvm::PassBuilder::registerLoopAnalyses(llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x224): undefined reference to `llvm::PassBuilder::crossRegisterProxies(llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::AnalysisManager<llvm::Function>&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::AnalysisManager<llvm::Module>&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x238): undefined reference to `llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module<> >>::PassManager(bool)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x2d1): undefined reference to `llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module<> >>::operator=(llvm::AnalysisManager<llvm::Module<> >&&)'|
> |BackendUtil.cpp:(.text._ZN12_GLOBAL__N_118EmitAssemblyHelper30EmitAssemblyWithNewPassManagerEN5clang13BackendActionESt10unique_ptrIN4llvm17raw_pwrite_streamESt14default_deleteIS5_EE+0x553): undefined reference to `llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module<> >>::run(llvm::Module&, llvm::Module<>&)'|
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `llvm::TargetLibraryAnalysis::Result& llvm::AnalysisManager<llvm::Function>::getResult<llvm::TargetLibraryAnalysis>(llvm::Function&)':|
> |BackendUtil.cpp:(.text._ZN4llvm15AnalysisManagerINS_8FunctionEIEE9getResultINS_21TargetLibraryAnalysisEEERNT_6ResultERS1_[_ZN4llvm15AnalysisManagerINS_8FunctionEIEE9getResultINS_21TargetLibraryAnalysisEEERNT_6ResultERS1_]+0x6f): undefined reference to `llvm::AnalysisManager<llvm::Function>::getResultImpl(llvm::AnalysisKey*, llvm::Function&)'|
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `llvm::detail::PassModel<llvm::Module, llvm::PrintModulePass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module<> >>::run(llvm::Module&, llvm::Module<>&)':|
> |BackendUtil.cpp:(.text._ZN4llvm6detail9PassModelINS_6ModuleENS_15PrintModulePassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_[_ZN4llvm6detail9PassModelINS_6ModuleENS_15PrintModulePassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_]+0x30): undefined reference to `llvm::PrintModulePass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module<> >&)'|
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `llvm::detail::PassModel<llvm::Module, llvm::BitcodeWriterPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module<> >>::run(llvm::Module&, llvm::Module<>&)':|
> |BackendUtil.cpp:(.text._ZN4llvm6detail9PassModelINS_6ModuleENS_17BitcodeWriterPassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_[_ZN4llvm6detail9PassModelINS_6ModuleENS_17BitcodeWriterPassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_]+0x30): undefined reference to `llvm::BitcodeWriterPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module<> >&)'|
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `llvm::detail::PassModel<llvm::Module, llvm::AlwaysInlinerPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module<> >>::run(llvm::Module&, llvm::Module<>&)':|
> |BackendUtil.cpp:(.text._ZN4llvm6detail9PassModelINS_6ModuleENS_17AlwaysInlinerPassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_[_ZN4llvm6detail9PassModelINS_6ModuleENS_17AlwaysInlinerPassENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEEEIEE3runERS2_RS6_]+0x30): undefined reference to `llvm::AlwaysInlinerPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module<> >&)'|
> |../../lib/libclangCodeGen.a(BackendUtil.cpp.o): In function `llvm::detail::AnalysisResultModel<llvm::Function, llvm::AAManager, llvm::AAResults, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function<> >::Invalidator, true>::invalidate(llvm::Function&, llvm::PreservedAnalyses const&, llvm::AnalysisManager<llvm::Function<> >&)':|
> |BackendUtil.cpp:(.text._ZN4llvm6detail19AnalysisResultModelINS_8FunctionENS_9AAManagerENS_9AAResultsENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEE11InvalidatorELb1EE10invalidateERS2_RKS5_RS8_[_ZN4llvm6detail19AnalysisResultModelINS_8FunctionENS_9AAManagerENS_9AAResultsENS_17PreservedAnalysesENS_15AnalysisManagerIS2_IEE11InvalidatorELb1EE10invalidateERS2_RKS5_RS8_]+0x30): undefined reference to `llvm::AAResults::invalidate(llvm::Function&, llvm::PreservedAnalyses const&, llvm::AnalysisManager<llvm::Function<> >::Invalidator&)'|
> |collect2: error: ld returned 1 exit status|
> 
> 
> 
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
> 




More information about the cfe-dev mailing list