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/