JuliaHubOSS / llvm-cbe

resurrected LLVM "C Backend", with improvements
Other
826 stars 141 forks source link

ld.lld: error: undefined symbol: typeinfo for llvm::cl::Option #148

Closed leap0x7b closed 1 year ago

leap0x7b commented 2 years ago
[100%] Linking CXX executable llvm-cbe
ld.lld: error: undefined symbol: typeinfo for llvm::cl::Option
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::opt<llvm::PluginLoader, false, llvm::cl::parser<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > > >)
>>> did you mean: vtable for llvm::cl::Option
>>> defined in: /data/data/com.termux/files/usr/lib/libLLVM-13.so

ld.lld: error: undefined symbol: typeinfo for llvm::cl::GenericOptionValue
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueCopy<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > >)
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueBase<llvm::PluginLoader, true>)
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueCopy<unsigned int>)
>>> referenced 2 more times
>>> did you mean: vtable for llvm::cl::GenericOptionValue
>>> defined in: /data/data/com.termux/files/usr/lib/libLLVM-13.so
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [tools/llvm-cbe/CMakeFiles/llvm-cbe.dir/build.make:100: tools/llvm-cbe/llvm-cbe] Error 1
make[2]: *** [CMakeFiles/Makefile2:420: tools/llvm-cbe/CMakeFiles/llvm-cbe.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:427: tools/llvm-cbe/CMakeFiles/llvm-cbe.dir/rule] Error 2
make: *** [Makefile:286: llvm-cbe] Error 2
dpaoliello commented 1 year ago

Please reopen if you can still reproduce this issue and please provide information on what OS and compiler versions you're using

rhjdvsgsgks commented 9 months ago

i can still reproduce this. using clang/llvm 16 in termux

ld.lld: error: undefined symbol: typeinfo for llvm::cl::Option
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::opt<llvm::PluginLoader, false, llvm::cl::parser<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>>)
>>> did you mean: vtable for llvm::cl::Option
>>> defined in: /data/data/com.termux/files/usr/opt/libllvm-16/lib/libLLVM-16.so

ld.lld: error: undefined symbol: typeinfo for llvm::cl::GenericOptionValue
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueCopy<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>)
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueBase<llvm::PluginLoader, true>)
>>> referenced by llvm-cbe.cpp
>>>               CMakeFiles/llvm-cbe.dir/llvm-cbe.cpp.o:(typeinfo for llvm::cl::OptionValueCopy<unsigned int>)
>>> referenced 2 more times
>>> did you mean: vtable for llvm::cl::GenericOptionValue
>>> defined in: /data/data/com.termux/files/usr/opt/libllvm-16/lib/libLLVM-16.so
c++: error: linker command failed with exit code 1 (use -v to see invocation)