Error "ffmpeg": cannot locate symbol "_ZNSt6..." on speech2text script execution
Opened this issue · 2 comments
Hello,
First, thanks very much for this script creation, it's very interesting!
I have been able to solve the error, just i want to notify the proble and share the solution.
I have tryed to run, but i get the next error:
CANNOT LINK EXECUTABLE "ffmpeg": cannot locate symbol "_ZNSt6__ndk16__itoa8__u32toaEjPc" referenced by "/data/data/com.termux/files/usr/lib/libopenmpt.so"...
Unexpected type for ./tmp.wav: 0
The missing symbol should be supplied by the "libc+++_shared.so" library.
I have tryed preloading the lib from Termux lib dir before executing "speech2text" using the next command:
env LD_PRELOAD=/data/data/com.termux/files/usr/lib/libc++_shared.so ./Termux-DeepSpeech/speech2text
And now "speech2text" script runs fine.
So it seems that the libc++ version supplied by deepspeech is obsolete.
I have found two solutions:
- Set the LD_PRELOAD variable al the start of the "speech2text" script addinge the next line:
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libc++_shared.so - Modify the script to update de lib in ".Termux-DeepSpeech/deepspeech-bin/" dir from the Termux one.
Thanks again.
Berbascum
Hey Berbascum,
Thanks for sharing. I had the same error and your solution 1 fixed it for me. Now the script is running.
(On a side not, I didn't know how to add a line to the script from within Termux.. So I used root privileges to do it from another app.)