27

嗨,我最近刚刚下载了最新的雪豹更新。然后我尝试使用已在我的计算机上安装数月的 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

我真的不知道该怎么办。我在这里远远超出我的联盟。

4

10 回答 10

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 二进制文件的自述文件。请注意,它说它适用于 Lion 用户,但我运行的是 10.6.8,它对我有用。

于 2012-03-22T00:42:35.510 回答
17

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

  1. 从 AppStore 和 HomeBrew 安装 Xcode(参见链接

  2. 运行“brew install octave”并等待 graphicsmagick 无法编译

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

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

  5. 安装 Aquaterm

  6. 现在运行“brew install gnuplot”

您现在已经安装了最新的 Octave。只需从终端输入 octave

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

setenv("GNUTERM", "x11");
x = linspace(-10, 10, 100);
y = sin(x);
plot(x,y);
于 2011-10-09T22:21:16.053 回答
9

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

于 2010-11-18T12:37:14.833 回答
5

我们在 OSX 10.6.5 和 fontconfig 中更新了 freetype,它链接到 freetype,需要这个更新的版本。Gnuplot 无法加载,因为他们的开发人员正在设置 DYLD_LIBRARY_PATH,这迫使我们的 libfontconfig 尝试使用他们无法使用的 libfreetype。

这是 Gnuplot.app 中的一个错误……开发人员永远不应该在发货产品中设置 DYLD_LIBRARY_PATH!

于 2010-11-16T18:36:04.707 回答
1

我遇到了同样的问题,花了一段时间才找到“Mac OS X 10.6 用户注意事项”。我在这里复制它们:

雪豹用户注意事项

1 - mkoct 文件

由于 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”并在该行之后选择“Open with -> Other ... -> 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 的功能,为了在 OSX 10.6.5 及更高版本上使用 Gnuplot.app,您可以使用下面描述的修复:

2.1) 在 finder 中打开文件夹 /Applications 2.2) 右键单击​​ Gnuplot.app 并选择“显示包内容” 2.3) 导航到 /Applications/Gnuplot.app/Contents/Resources/bin 2.4) 右键单击​​该文件"gnuplot" 并选择 "Open with -> Other ... -> TextEdit.app" 2.5) 更改行:

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

 DYLD_LIBRARY_PATH="${ROOT}/lib"

并保存。

豹用户注意事项

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

于 2011-03-23T03:32:23.657 回答
1

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

我直接用“brew”安装了 gnuplot,然后从我的应用程序文件夹中删除了 gnuplot。一旦进行了更改,Octave 就能够找到使用正确依赖项编译的较新版本的 gnuplot。

于 2012-02-06T07:45:49.693 回答
1

如果您不介意使用 MacPorts,可以通过以下命令安装 octave。它将是 64 位版本。

sudo port install octave-devel
于 2012-05-21T15:15:27.087 回答
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
于 2013-06-19T05:48:48.690 回答
0

Mountain Lions 还可以使用 dmg 安装 Octave 3.4.0,并从 Maxima dmg 中加入旧的 4.2 gnuplot。最简单,但不是最新版本。(一个同学的想法奏效了。)

于 2013-10-19T14:34:26.393 回答
0

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

但是,这里给出的第二个选项: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 中。

于 2013-12-15T22:27:06.170 回答