Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cmake Build Failed due to undefined symbol: MlasGemmX8S8DispatchNeon #23177

Open
ranjitsingha opened this issue Dec 22, 2024 · 0 comments
Open
Labels
build build issues; typically submitted using template

Comments

@ranjitsingha
Copy link

Describe the issue

This issue is comming while building onnxruntime wheel in termux. I use termux to build the wheel because it compiles the wheel with libandroid-support.so, etc. And to use onnxruntime within termux

While i can successfully generate the wheel by installing TermuxAarch inside termux. But unable to generate in termux.

Is there any way to fix.

Urgency

No response

Target platform

Termux

Build script

python tools/ci_build/build.py --build_dir build --config Release --enable_pybind --parallel 6 --skip_tests --build_wheel

Error / output

Image

[ 41%] Linking CXX executable onnxruntime_mlas_q4dq ld.lld: error: undefined symbol: MlasGemmX8S8DispatchNeon >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasGemmU8X8DispatchNeon >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp

          platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                                                                               ld.lld: error: undefined symbol: MlasSymmQgemmS8DispatchNeon                                                          >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                                                                               ld.lld: error: undefined symbol: MlasGemmU8X8DispatchUdot  >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                                                                               ld.lld: error: undefined symbol: MlasGemmS8S8DispatchSdot  >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    >>> referenced by platform.cpp                             >>>               platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    

ld.lld: error: undefined symbol: MlasSymmQgemmS8DispatchSdot >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasSQNBitGemmDispatchNeon>>> referenced by platform.cpp

          platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    >>> referenced by platform.cpp
          platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a                    

ld.lld: error: undefined symbol: MlasGemmU8X8DispatchUmmla >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasGemmS8S8DispatchSmmla >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a
ld.lld: error: undefined symbol: MlasCastF16ToF32KernelNeon>>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasCastF32ToF16KernelNeon>>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a >>> referenced by platform.cpp >>> platform.cpp.o:(MLAS_PLATFORM::MLAS_PLATFORM()) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymU8KernelNeon >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchNeon) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymDepthwiseU8KernelNeon >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchDot) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymDepthwiseKernelSize9Arm64U8S8 >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchDot) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymS8KernelNeon

referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchNeon) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymDepthwiseS8KernelNeon >>> referenced by convsym.cpp
convsym.cpp.o:(MlasConvSymS8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchDot) in archive libonnxruntime_mlas.a
ld.lld: error: undefined symbol: MlasConvSymDepthwiseKernelSize9Arm64S8S8 >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchNeon) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchDot) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymU8KernelDot >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchDot) in archive libonnxruntime_mlas.a >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymU8DispatchDot) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymS8KernelDot >>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchDot) in archive libonnxruntime_mlas.a ld.lld: error: undefined symbol: MlasConvSymS8KernelDotLd64>>> referenced by convsym.cpp >>> convsym.cpp.o:(MlasConvSymS8DispatchDot) in archive libonnxruntime_mlas.a [ 42%] Built target onnx_test_runner_common c++: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [CMakeFiles/onnxruntime_mlas_q4dq.dir/build.make:169: onnxruntime_mlas_q4dq] Error 1 make[1]: *** [CMakeFiles/Makefile2:2399: CMakeFiles/onnxruntime_mlas_q4dq.dir/all] Error 2

Visual Studio Version

No response

GCC / Compiler Version

clang version 19.1.6 Target: aarch64-unknown-linux-android24 Thread model: posix InstalledDir: /data/data/com.termux/files/usr/bin

@ranjitsingha ranjitsingha added the build build issues; typically submitted using template label Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build build issues; typically submitted using template
Projects
None yet
Development

No branches or pull requests

1 participant