edA-qa mort-ora-y via llvm-dev
2016-Jun-05 16:43 UTC
[llvm-dev] Undefined reference while linking with 3.8 and GCC5
I'm getting these errors while linking my project now (being migrated from 3.3 to 3.8, now using GCC5): build/libleaf_ir_llvm.so: undefined reference to `typeinfo for llvm::Value' build/libleaf_ir_llvm.so: undefined reference to `typeinfo for llvm::CmpInst' build/libleaf_ir_llvm.so: undefined reference to `typeinfo for llvm::Instruction' build/libleaf_ir_llvm.so: undefined reference to `typeinfo for llvm::Function' build/libleaf_ir_llvm.so: undefined reference to `typeinfo for llvm::UnaryInstruction' I'm presuming my linking is basically correct otherwise I'd get hundreds of undefined references. Am I perhaps using a constructor that isn't being provided anymore? I built LLVM with this command: cmake .. -DENABLE_EH=ON -DENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_ENABLE_FFI=ON -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_OPTIMIZED_TABLEGEN=ON -DCMAKE_INSTALL_PREFIX="/opt/llvm/install" And I link to the installed LLVM-3-8.so -- edA-qa mort-ora-y http://mortoray.com/ Leaf - the language we always wanted http://leaflang.org/
edA-qa mort-ora-y via llvm-dev
2016-Jun-05 16:52 UTC
[llvm-dev] Undefined reference while linking with 3.8 and GCC5
I think my ENABLE_RTTI flag might not be correct/enough. I'm trying again with LLVM_REQUIRES_RTTI. On 05/06/16 18:43, edA-qa mort-ora-y via llvm-dev wrote:> I'm getting these errors while linking my project now (being migrated > from 3.3 to 3.8, now using GCC5): > > build/libleaf_ir_llvm.so: undefined reference to `typeinfo for > llvm::Value' > build/libleaf_ir_llvm.so: undefined reference to `typeinfo for > llvm::CmpInst' > build/libleaf_ir_llvm.so: undefined reference to `typeinfo for > llvm::Instruction' > build/libleaf_ir_llvm.so: undefined reference to `typeinfo for > llvm::Function' > build/libleaf_ir_llvm.so: undefined reference to `typeinfo for > llvm::UnaryInstruction' > > I'm presuming my linking is basically correct otherwise I'd get hundreds > of undefined references. Am I perhaps using a constructor that isn't > being provided anymore? > > I built LLVM with this command: > > cmake .. -DENABLE_EH=ON -DENABLE_RTTI=ON -DLLVM_ENABLE_CXX1Y=ON > -DLLVM_LINK_LLVM_DYLIB=ON -DLLVM_ENABLE_FFI=ON > -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_BUILD_DOCS=ON > -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_OPTIMIZED_TABLEGEN=ON > -DCMAKE_INSTALL_PREFIX="/opt/llvm/install" > > And I link to the installed LLVM-3-8.so >-- edA-qa mort-ora-y http://mortoray.com/ Leaf - the language we always wanted http://leaflang.org/