首页 > 解决方案 > 无法在 linux alpine 上运行 picovoice

问题描述

我正在尝试在 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

还有其他人遇到过这种情况吗?有没有办法在 alpine 上运行 picovoice 或者根本不支持?

标签: python-2.7dockerspeech-recognitionalpine

解决方案


它似乎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


推荐阅读