python-2.7 - 无法在 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 或者根本不支持?
解决方案
它似乎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。
推荐阅读
- c# - 使用 Roslyn 获取程序集属性
- javascript - 添加新列表项时,我创建的切换功能不起作用
- java - 如何使用正则表达式java在两个字符串中查找匹配的字符
- javascript - 打字稿中的类接口
- php - 如何写一个条件,以便 sql 语句提取 2 小时前已解决的订单?
- python - 如何根据多列中的单个值从多索引中进行选择?
- php - Fullcalendar 中模态的问题插入代码
- api - TheBat 插件 api - 如何获取新邮件通知?
- android - 为 Android ListView 设置适配器时如何修复 Layout cast 错误?
- java - 如何从 for 循环中获取指定的属性?