mac安装pocketsphinx-python出现错误

本文解决在Mac上安装pocketsphinx遇到的'al.h'文件未找到错误,通过修改源代码并使用特定路径的OpenAL头文件成功安装,详细步骤包括克隆源代码、修改依赖文件及进行源代码安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天我在mac上安装pocketsphinx的时候,出现了下面的错误:

....
deps/sphinxbase/src/libsphinxad/ad_openal.c:43:10: fatal error: 'al.h' file not found
    #include <al.h>

解决方法

最后查资料发现,mac上需要通过源代码安装:

git clone --recursive https://github.com/bambocher/pocketsphinx-python
cd pocketsphinx-python

然后修改文件:pocketsphinx-python/deps/sphinxbase/src/libsphinxad/ad_openal.c

把:

#include <al.h>
#include <alc.h>

换成:

#include <OpenAL/al.h>
#include <OpenAL/alc.h>

然后源代码安装:

python setup.py install

全程无报错,安装部分信息为:

.....
creating /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/__init__.py -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/_pocketsphinx.cpython-37m-darwin.so -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx
creating /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/data
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/data/goforward.raw -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/data
creating /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/cmudict-en-us.dict -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model
creating /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/feat.params -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/mdef -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/means -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/noisedict -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/README -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/sendump -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/transition_matrices -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us/variances -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model/en-us
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/model/en-us.lm.bin -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/model
copying build/lib.macosx-10.7-x86_64-3.7/pocketsphinx/pocketsphinx.py -> /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx
creating /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
copying build/lib.macosx-10.7-x86_64-3.7/sphinxbase/__init__.py -> /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
copying build/lib.macosx-10.7-x86_64-3.7/sphinxbase/_ad_openal.cpython-37m-darwin.so -> /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
copying build/lib.macosx-10.7-x86_64-3.7/sphinxbase/_sphinxbase.cpython-37m-darwin.so -> /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
copying build/lib.macosx-10.7-x86_64-3.7/sphinxbase/ad_openal.py -> /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
copying build/lib.macosx-10.7-x86_64-3.7/sphinxbase/sphinxbase.py -> /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase
byte-compiling /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/__init__.py to __init__.cpython-37.pyc
byte-compiling /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx/pocketsphinx.py to pocketsphinx.cpython-37.pyc
byte-compiling /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase/__init__.py to __init__.cpython-37.pyc
byte-compiling /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase/ad_openal.py to ad_openal.cpython-37.pyc
byte-compiling /Users/admin/anaconda3/lib/python3.7/site-packages/sphinxbase/sphinxbase.py to sphinxbase.cpython-37.pyc
running install_egg_info
Copying pocketsphinx.egg-info to /Users/admin/anaconda3/lib/python3.7/site-packages/pocketsphinx-0.1.15-py3.7.egg-info
running install_scripts

参考文献

[1].Trouble installing on osx "fatal error: 'al.h' file not found". https://github.com/bambocher/pocketsphinx-python/issues/28

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民小飞侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值