我试图在linux alpine上运行picovoice语音检测引擎。我使用picovoice提供的python绑定运行python版本。我在linux alpine发行版上运行python演示。我有一个在linux alpine上运行的docker容器。当我运行命令
python demo/python/porcupine_demo.py --keyword_file_paths resources/keyword_files/linux/blueberry_linux.ppn
我看到了错误
OSError: Error relocating demo/python/../../lib/linux/x86_64/libpv_porcupine.so: __vfprintf_chk: symbol not found
其他人遇到过这种情况?有没有办法在高山上运行picovoice还是根本不支持?
似乎libpv_porcupine.so
依赖于GNU的C运行时库,glibc(通过__vfprintf_chk
符号判断)。
Alpine使用一种不同的,简约的libc实现,称为musl libc。 与glibc链接的二进制文件通常无法链接到musl libc。
你需要使用glibc的Alpine - 尝试使用支持glibc的Alpine作为基本图像,例如https://github.com/frol/docker-alpine-glibc。