在您的系统上找不到sndfile因此audioinfo不起作用(brew octave 4.0.0 mac)

时间:2015-09-07 18:17:20

标签: octave homebrew

在Mac OS X上使用brew升级从3.8.2升级到Octave 4.0.0后,我在尝试使用wavread时遇到此错误:

  

错误:在您的系统上找不到sndfile因此audioinfo不起作用   错误:从中调用   wavread在第91行第8栏

我尝试重新安装libsndfile,端口音频,甚至八度音,但仍无法解决此问题。

1 个答案:

答案 0 :(得分:2)

这是因为Octave的自制公式没有将portaudio和libsndfile列为依赖项。 Homebrew似乎在安装期间运行了特殊版本的pkg-config,它只能访问在公式中明确列为依赖项的库。

我设法通过

让它工作
depends_on "libsndfile"
depends_on "portaudio"

然后在公式顶部附近添加这些线:

configure

并且这些行稍微低一点,正在构造args << "--with-portaudio" args << "--with-sndfile" 命令的args字符串

brew install octave --build-from-source --with-gui

然后安装八度音,确保它从源构建。像

这样的东西
--with-audio

理想情况下,portaudio和sndfile将使用class PlotterAxis { public: PlotterAxis(Stepper *stepper); long position(); private: long pos; }; 之类的开关启用。如果我有机会,我会通过必要的更改向自制软件提交拉取请求。

编辑:2015年10月12日

现在这是自制科学水龙头中拉动请求的主题 https://github.com/Homebrew/homebrew-science/pull/2875