我在Ubuntu 14.04机器上安装了最新的Octave.但是,当我尝试运行imread命令时,它显示以下错误消息:
octave:12> imread('newfile.png')
error: imread: invalid image file: /usr/lib/x86_64-linux-gnu/octave/3.8.1/oct/x86_64-pc-linux-gnu/__magick_read__.oct: failed to load: /usr/lib/x86_64-linux-gnu/octave/3.8.1/oct/x86_64-pc-linux-gnu/__magick_read__.oct: undefined symbol: _ZN6Magick5ColorC1Ehhh
error: called from:
error: /usr/share/octave/3.8.1/m/image/private/__imread__.m at line 181, column 7
error: /usr/share/octave/3.8.1/m/image/private/imageIO.m at line 66, column 26
error: /usr/share/octave/3.8.1/m/image/imread.m at line 107, column 30
Run Code Online (Sandbox Code Playgroud)
有人可以建议如何解决它?
谢谢!
你是如何安装八度的?该错误表明您缺少 GraphicsMagick C++ 接口(包libgraphicsmagick++3),但是
所以我的猜测是你自己构建它,或者使用:
您自己构建的 GraphicsMagick++ 不再被加载,您可能需要将它们的路径添加到动态链接器加载路径( on/etc/ld.so.conf.d./graphicsmagick或 Define LD_LIBRARY_PATH);
您意外删除的包管理器中的库(由于您没有从存储库安装 Octave,您的包管理器将不知道 libgraphicsmagick++ 的安装是有原因的)。
无论哪种方式,解决方案都很简单。从 Ubuntu 的包管理器安装 Octave。包管理器存在的主要原因之一是为了避免此类问题,即缺少依赖项。