sherpa-onnx
sherpa-onnx copied to clipboard
compile cuda version sherpa-onnx errors
I follow the content https://k2-fsa.github.io/sherpa/onnx/python/install.html#method-2-from-pre-compiled-wheels-cpu-cuda to install it.
The command is as follows:
cmake \
-DSHERPA_ONNX_ENABLE_PYTHON=ON \
-DBUILD_SHARED_LIBS=ON \
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
-DSHERPA_ONNX_ENABLE_C_API=OFF \
-DSHERPA_ONNX_ENABLE_WEBSOCKET=OFF \
-DSHERPA_ONNX_ENABLE_GPU=ON \
..
make -j
The error is as follows:
[ 93%] Building CXX object sherpa-onnx/python/csrc/CMakeFiles/_sherpa_onnx.dir/offline-speaker-diarization.cc.o
[ 93%] Linking CXX executable ../../bin/sherpa-onnx-offline-punctuation
[ 95%] Linking CXX executable ../../bin/sherpa-onnx-offline-zeroshot-tts
[ 95%] Linking CXX executable ../../bin/sherpa-onnx-online-punctuation
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
[ 95%] Linking CXX executable ../../bin/sherpa-onnx-offline-tts
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-punctuation.dir/build.make:114: bin/sherpa-onnx-offline-punctuation] Error 1
make[1]: *** [CMakeFiles/Makefile2:2944: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-punctuation.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 95%] Linking CXX executable ../../bin/sherpa-onnx-vad
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-online-punctuation.dir/build.make:114: bin/sherpa-onnx-online-punctuation] Error 1
[ 96%] Linking CXX executable ../../bin/sherpa-onnx-offline-source-separation
make[1]: *** [CMakeFiles/Makefile2:3028: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-online-punctuation.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-source-separation.dir/build.make:114: bin/sherpa-onnx-offline-source-separation] Error 1
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
make[1]: *** [CMakeFiles/Makefile2:2986: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-source-separation.dir/all] Error 2
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-vad.dir/build.make:114: bin/sherpa-onnx-vad] Error 1
make[1]: *** [CMakeFiles/Makefile2:3101: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-vad.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-zeroshot-tts.dir/build.make:114: bin/sherpa-onnx-offline-zeroshot-tts] Error 1
make[1]: *** [CMakeFiles/Makefile2:3185: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-zeroshot-tts.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-tts.dir/build.make:114: bin/sherpa-onnx-offline-tts] Error 1
make[1]: *** [CMakeFiles/Makefile2:3143: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-tts.dir/all] Error 2
[ 96%] Linking CXX executable ../../bin/sherpa-onnx-offline-parallel
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-offline-denoiser
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-offline-language-identification
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-language-identification.dir/build.make:114: bin/sherpa-onnx-offline-language-identification] Error 1
make[1]: *** [CMakeFiles/Makefile2:2860: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-language-identification.dir/all] Error 2
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-offline-audio-tagging
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-denoiser.dir/build.make:114: bin/sherpa-onnx-offline-denoiser] Error 1
make[1]: *** [CMakeFiles/Makefile2:2818: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-denoiser.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-parallel.dir/build.make:114: bin/sherpa-onnx-offline-parallel] Error 1
make[1]: *** [CMakeFiles/Makefile2:2902: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-parallel.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-audio-tagging.dir/build.make:114: bin/sherpa-onnx-offline-audio-tagging] Error 1
make[1]: *** [CMakeFiles/Makefile2:2776: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-audio-tagging.dir/all] Error 2
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-offline
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline.dir/build.make:114: bin/sherpa-onnx-offline] Error 1
make[1]: *** [CMakeFiles/Makefile2:2734: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline.dir/all] Error 2
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-offline-speaker-diarization
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-speaker-diarization.dir/build.make:114: bin/sherpa-onnx-offline-speaker-diarization] Error 1
make[1]: *** [CMakeFiles/Makefile2:3227: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-offline-speaker-diarization.dir/all] Error 2
[ 98%] Linking CXX executable ../../bin/sherpa-onnx-keyword-spotter
[ 98%] Linking CXX executable ../../bin/sherpa-onnx
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-keyword-spotter.dir/build.make:114: bin/sherpa-onnx-keyword-spotter] Error 1
make[1]: *** [CMakeFiles/Makefile2:2692: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx-keyword-spotter.dir/all] Error 2
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/csrc/CMakeFiles/sherpa-onnx.dir/build.make:114: bin/sherpa-onnx] Error 1
make[1]: *** [CMakeFiles/Makefile2:2650: sherpa-onnx/csrc/CMakeFiles/sherpa-onnx.dir/all] Error 2
[100%] Linking CXX shared module ../../../lib/_sherpa_onnx.cpython-311-x86_64-linux-gnu.so
/usr/bin/ld: cannot find /lib64/libm.so.6: No such file or directory
/usr/bin/ld: cannot find /lib64/libmvec.so.1: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [sherpa-onnx/python/csrc/CMakeFiles/_sherpa_onnx.dir/build.make:1186: lib/_sherpa_onnx.cpython-311-x86_64-linux-gnu.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:3331: sherpa-onnx/python/csrc/CMakeFiles/_sherpa_onnx.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
Could you help me? Thanks a lot.
NOTE: I also try to use pre-compiled wheels .i.e.:pip install sherpa-onnx==1.12.11+cuda -f https://k2-fsa.github.io/sherpa/onnx/cuda.html, to install sherpa-onnx
It did not throw an error. After I entered the specified node (because I was using a GPU node in a slurm training cluster), I kept getting the following error: python3 -c "import sherpa_onnx; print(sherpa_onnx.__file__)" Traceback (most recent call last): File "<string>", line 1, in <module> File "/home/maduo/.conda/envs/sherpa_onnx_py311/lib/python3.11/site-packages/sherpa_onnx/__init__.py", line 1, in <module> from sherpa_onnx.lib._sherpa_onnx import ( ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/maduo/.conda/envs/sherpa_onnx_py311/lib/python3.11/site-packages/sherpa_onnx/lib/_sherpa_onnx.cpython-311-x86_64-linux-gnu.so)
Hi @shanguanma! I'm Dosu and I’m helping the sherpa-onnx team.
You’re hitting two separate issues:
- Build errors:
/lib64/libm.so.6and/lib64/libmvec.so.1not found
These are standard math libraries from glibc and libmvec. Their absence usually means your system is missing core runtime libraries or your build node is misconfigured. On most Linux systems, these should be present by default. Try:
ls -l /lib64/libm.so.6 /lib64/libmvec.so.1
If they’re missing, you’ll need to install or restore the glibc and libmvec packages. For example, on CentOS/RHEL:
sudo yum install glibc libmvec
On Ubuntu/Debian:
sudo apt-get install libc6 libmvec1
If you’re on a managed cluster, you may need to ask your admin to fix the node.
- Runtime error:
GLIBCXX_3.4.30not found
This means your system’slibstdc++.so.6is too old for the pre-built wheel you installed. You can check your available GLIBCXX versions with:
strings /usr/lib*/libstdc++.so.6 | grep GLIBCXX
If GLIBCXX_3.4.30 is missing, you need a newer GCC/libstdc++ (GCC 10+). On Ubuntu 20.04+ or CentOS 8+, this should be available. If you’re using an older OS, you may need to update GCC or use a newer runtime node.
Other notes:
- Make sure your CUDA toolkit is version 11.8, as required for GPU support source.
- On clusters, build and runtime environments can differ. Always check that the node you build on matches the node you run on, especially for system libraries and toolchain versions.
If you’re still stuck after these checks, let me know your Linux distribution and version, and I can suggest more specific commands.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
Please post complete logs.
@csukuangfj ,thanks for your reply. The above bug has not been reproduced yet, but the new problem is that there is no problem with compilation. I follow the below steps to install sherpa-onnx:
conda activate s2s
pip install uv
uv pip install torch==2.7.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu118
git clone https://github.com/k2-fsa/sherpa-onnx
cd sherpa-onnx
mkdir build
cd build
cmake \
-DSHERPA_ONNX_ENABLE_PYTHON=ON \
-DBUILD_SHARED_LIBS=ON \
-DSHERPA_ONNX_ENABLE_CHECK=OFF \
-DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \
-DSHERPA_ONNX_ENABLE_C_API=OFF \
-DSHERPA_ONNX_ENABLE_WEBSOCKET=OFF \
-DSHERPA_ONNX_ENABLE_GPU=ON \
..
make -j
export PYTHONPATH=$PWD/../sherpa-onnx/python/:$PWD/lib:$PYTHONPATH
the error is as follows:
python3 -c "import sherpa_onnx; print(sherpa_onnx.__file__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/data/maduo/codebase/sherpa-onnx/sherpa-onnx/python/sherpa_onnx/__init__.py", line 1, in <module>
from sherpa_onnx.lib._sherpa_onnx import (
ModuleNotFoundError: No module named 'sherpa_onnx.lib'
then I will try to install pre-compile wheels as the follow commands:
uv pip install sherpa-onnx==1.12.13+cuda -f https://k2-fsa.github.io/sherpa/onnx/cuda.html
the error is as follows:
python3 -c "import sherpa_onnx; print(sherpa_onnx.__file__)"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/data/maduo/codebase/sherpa-onnx/sherpa-onnx/python/sherpa_onnx/__init__.py", line 1, in <module>
from sherpa_onnx.lib._sherpa_onnx import (
ModuleNotFoundError: No module named 'sherpa_onnx.lib'
Could you help me?
Please create a symlink inside
/data/maduo/codebase/sherpa-onnx/sherpa-onnx/python/sherpa_onnx/lib
See the screenshot above.
Thanks a lot, it is working for me.