八度嵌入函数
我在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
有人可以建议如何解决它?
谢谢!
按照这些步骤为我工作[作者: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
你是如何安装Octave的? 错误提示您缺少GraphicsMagick C ++接口(包libgraphicsmagick++3
),但是
所以我的猜测是你自己构建它,或者是:
您自己构建的GraphicsMagick ++不再加载,您可能需要将其路径添加到动态链接器加载路径(在/etc/ld.so.conf.d./graphicsmagick
或定义LD_LIBRARY_PATH
);
来自你曾经意外删除的包管理器的库(因为你没有从库中安装Octave,你的包管理器不会知道libgraphicsmagick ++是由于某种原因而被安装的)。
无论哪种方式,解决方案都很简单。 从Ubuntu的包管理器安装Octave。 包管理者存在的主要原因之一是避免这种类型的问题,即缺少依赖关系。
链接地址: http://www.djcxy.com/p/22125.html下一篇: c++ program crashes when linked to two 3rd party shared libraries