我在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
有人可以建议如何解决吗?
谢谢!
答案 0 :(得分:4)
按照这些步骤为我工作[作者:ChristofferCronström(hymyly)]:
安装构建八度音程所需的开发包。
sudo apt-get build-dep octave
获取官方源代码包。在干净的目录中执行此操作,因为它会受到污染。
cd ~/some/suitable/directory
apt-get source octave
构建它。这花了大约一个小时的时间。
cd octave-3.8.2
dpkg-buildpackage
从构建目录运行它:
./run-octave
...或最优选将其安装在官方八度音阶上:
cd ..
sudo dpkg --install octave_3.8.2-4_amd64.deb
来自:https://bugs.launchpad.net/ubuntu/+source/octave/+bug/1372202
答案 1 :(得分:0)
你是如何安装Octave的?该错误表明您缺少GraphicsMagick C ++接口(包libgraphicsmagick++3
)但
所以我的猜测是你自己建造它,或者用:
你自己构建的GraphicsMagick ++不再被加载,你可能需要将它们的路径添加到动态链接器加载路径(/etc/ld.so.conf.d./graphicsmagick
或定义LD_LIBRARY_PATH
);
您从意外删除的软件包管理器中的库(因为您没有从存储库安装Octave,您的软件包管理器不会知道安装了libgraphicsmagick ++)。
无论哪种方式,解决方案都很简单。从Ubuntu的软件包管理器安装Octave。包管理器存在的一个主要原因是避免这种类型的问题,即缺少依赖性。