mlc-ai / relax

Apache License 2.0
137 stars 69 forks source link

[Bug] Build Error: Undefined Symbol HexagonModuleCreate #305

Open scarlettekk opened 6 months ago

scarlettekk commented 6 months ago

Building on Linux aarch64 causes a build error:

[100%] Linking CXX shared library libtvm_allvisible.so        [100%] Linking CXX shared library libtvm.so                   ld.lld: error: undefined symbol: tvm::runtime::HexagonModuleCreate(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::unordered_map<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, tvm::runtime::FunctionInfo, std::__ndk1::hash<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::equal_to<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>>, std::__ndk1::allocator<std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const, tvm::runtime::FunctionInfo>>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>)                                                 >>> referenced by codegen_hexagon.cc:649 (/data/data/com.termux/files/home/mlc-llm/3rdparty/tvm/src/target/llvm/codegen_hexagon.cc:649)                                                   >>>               CMakeFiles/tvm_objs.dir/src/target/llvm/codegen_hexagon.cc.o:(tvm::codegen::BuildHexagon(tvm::IRModule, tvm::Target))                                                   c++: error: linker command failed with exit code 1 (use -v to see invocation)

Hexagon isn't even enabled in config.cmake, so I don't know why it's trying to compile parts of it

config.cmake pastebin

scarlettekk commented 6 months ago

Sorry about the error formatting, don't know why it's all on one line

Happ1ness-dev commented 2 months ago

Same error, and idk how to fix it. I suppose I have to build it specifically with ndk, but I'm not sure