在最近的MAC OSX更新后使用Octave进行绘图

时间:2010-11-14 00:02:01

标签: macos octave gnuplot

您好我刚刚下载了最新的雪豹更新。然后我尝试使用Octave绘制一些东西,它已经安装在我的计算机上好几个月了(并且绘图已经工作了所有时间)即使我安装了更新,并且我尝试使用octave绘图我得到以下错误:

dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71:   865 Trace/BPT trap          GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "$@"
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71:   871 Trace/BPT trap          GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "$@"
error: you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function

我真的不知道该怎么做。我离开了我的联盟。

10 个答案:

答案 0 :(得分:78)

“MacOSX用户的注释”不再出现在Octave主页上,Marco的帖子中描述的解决方法对我来说也不起作用,但是这样做了:

Open /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot in a text
editor. Use the editor search-and-replace feature to replace
"DYLD_LIBRARY_PATH" with "DYLD_FALLBACK_LIBRARY_PATH". There are four
instances that need to be replaced.

这是来自Octave MacOSX Binary的readme。请注意,它表示它适用于Lion用户,但我运行10.6.8并且它对我有效。

答案 1 :(得分:17)

我最近使用自制软件在Lion上构建了Octave和GNUplot。似乎运作良好。这是一些注意事项

1)从AppStore和HomeBrew安装Xcode(参见http://mxcl.github.com/homebrew/

2)运行'brew install octave'并等到graphicsmagick无法编译

3)运行命令“brew install --use-clang --HEAD graphicsmagick”。可能会要求您安装Mercurial,只需按照说明操作即可。您可能还会被要求安装fortran,所以“brew install gfortran”

4)再次运行命令“brew install octave”

5)Install Aquaterm

6)现在运行“brew install gnuplot”

您现在安装了最新的Octave。只需从终端输入八度音程

即可

要测试安装,请在Octave命令提示符下运行以下命令

setenv("GNUTERM", "x11");
x = linspace(-10, 10, 100);
y = sin(x);
plot(x,y);

答案 2 :(得分:9)

请参阅http://octave.sourceforge.net/上有关Mac OS X 10.6用户的说明。这些变化也解决了10.5.8中的问题。

答案 3 :(得分:5)

我们在OSX 10.6.5中更新了freetype,并且反对freetype的fontconfig想要这个更新的版本。 Gnuplot无法加载,因为他们的开发人员正在设置DYLD_LIBRARY_PATH,这迫使我们的libfontconfig尝试使用他们无法使用的libfreetype。

这是Gnuplot.app中的一个错误...开发人员应该从不在运送产品中设置DYLD_LIBRARY_PATH!

答案 4 :(得分:1)

我遇到了同样的问题并花了一些时间为Mac OS X 10.6"的用户找到了#34;注意事项。我把它们复制在这里:

雪豹用户注意事项

1 - mkoctfile

自OSX 10.6以来,Apple发布的gcc版本默认为64位二进制文​​件 由于Octave.app版本3.2.3中包含的库是32位,您需要申请 以下补丁,以便mkoctfile工作:

1.1)在finder中打开文件夹/ Applications   1.2)右键单击Octave.app并选择"显示包内容"   1.3)导航到/Applications/Octave.app/Contents/Resources/bin   1.4)右键单击文件" mkoctfile"并选择"打开 - >其他...... - > TextEdit.app"   1.5)紧随其后:

 # along with this program; If not, see <http://www.gnu.org/licenses/>.

添加行

 CFLAGS="-m32 ${CFLAGS}"
 FFLAGS="-m32 ${FFLAGS}"
 CPPFLAGS="-m32 ${CPPFLAGS}"
 CXXFLAGS="-m32 ${CXXFLAGS}"
 LDFLAGS="-m32 ${LDFLAGS}" 

并保存。

2 - Gnuplot.app

OSX 10.6.5引入的系统库更新破坏了功能 包含Octave.app发行版的Gnuplot.app,以便使用Gnuplot.app 在OSX 10.6.5及更高版本中,您可以使用下面描述的修复程序:

2.1)在finder中打开文件夹/ Applications   2.2)右键单击Gnuplot.app并选择&#34;显示包内容&#34;   2.3)导航到/Applications/Gnuplot.app/Contents/Resources/bin   2.4)右键单击文件&#34; gnuplot&#34;并选择&#34;打开 - &gt;其他...... - &gt; TextEdit.app&#34;   2.5)改变行:

 DYLD_LIBRARY_PATH="${ROOT}/lib:${DYLD_LIBRARY_PATH}"

 DYLD_LIBRARY_PATH="${ROOT}/lib"

并保存。

对于LEOPARD用户的说明

OSX 10.5.8引入的系统库更新破坏了功能 包含Octave.app发行版的Gnuplot.app,以便使用Gnuplot.app 在OSX 10.5.8及更高版本中,您可以使用上述OSX 10.6.5中的相同修复程序。

答案 5 :(得分:1)

我尝试了上述内容并没有帮助。问题的根源似乎是Octave.app安装附带的gnuplot版本。

我用'brew'直接安装了gnuplot,然后从Applications文件夹中删除了gnuplot。完成更改后,Octave能够找到使用正确依赖项编译的更新版本的gnuplot。

答案 6 :(得分:1)

如果您不介意使用MacPorts,可以通过以下命令安装八度音程。它将是一个64位版本。

sudo port install octave-devel

答案 7 :(得分:0)

我只想分享我在这个问题上的经验。

今天我尝试在Mac OS X(10.7.5,Lion)中使用Octave / Gnuplot时遇到类似的问题,上面的解决方案都没有为我工作。

但是我找到了另一种有效的解决方案,在https://github.com/jyr/MNPP/issues/28中有描述。基本上,我做了以下事情:

sudo cp /usr/X11/lib/libfreetype.* /Applications/Gnuplot.app/Contents/Resources/lib

答案 8 :(得分:0)

Mountain Lions也可以使用dmg安装Octave 3.4.0并使用较旧的4.2 gnuplot而不是Maxima dmg。最简单,但不是最新版本。 (同学的想法奏效了。)

答案 9 :(得分:0)

使用“DYLD_FALLBACK_LIBRARY_PATH”替换“DYLD_LIBRARY_PATH”的4个实例在Mac OS X 10.9上对我不起作用。

然而,这里给出的第二个选项: http://sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/2011-04-21%20binary%20of%20Octave%203.4.0/

确实有效。即使用与Maxima DMG捆绑在一起的Gnuplot-4.2.6。下方链接。 http://sourceforge.net/projects/maxima/files/Maxima-MacOS/5.26.0-MacOSX/

我刚刚将Gnuplot.app复制到/ Applications。