倍频程+;GNUPlot+;Aquaterm&x2B;MacOS10.6
我正试图在Octave中完成所有基于MatLab的家庭作业,Octave是MatLab的开源表示 然而,我在绘制图表时遇到了问题,我认为这是一个简单的链接问题。我正在跑步: -Mac OS X雪豹(10.6) -倍频程3.2.2 -Aquaterm 1.0.1 -GNUPlot 4.0 下面是我从shell中获得的错误示例:倍频程+;GNUPlot+;Aquaterm&x2B;MacOS10.6,macos,unix,osx-snow-leopard,octave,Macos,Unix,Osx Snow Leopard,Octave,我正试图在Octave中完成所有基于MatLab的家庭作业,Octave是MatLab的开源表示 然而,我在绘制图表时遇到了问题,我认为这是一个简单的链接问题。我正在跑步: -Mac OS X雪豹(10.6) -倍频程3.2.2 -Aquaterm 1.0.1 -GNUPlot 4.0 下面是我从shell中获得的错误示例: Mr-Buffalo:~ buffingtonr$ gnuplot dyld: Library not loaded: /usr/local/lib/libaquater
Mr-Buffalo:~ buffingtonr$ gnuplot
dyld: Library not loaded: /usr/local/lib/libaquaterm.1.0.0.dylib
Referenced from: /usr/local/bin/gnuplot
Reason: image not found
Trace/BPT trap
octave-3.2.2:1> f = inline('x^2')
f(x) = x^2
octave-3.2.2:5> ezplot(f)
dyld: Library not loaded: /usr/local/lib/libaquaterm.1.0.0.dylib
Referenced from: /usr/local/bin/gnuplot
Reason: image not found
dyld: Library not loaded: /usr/local/lib/libaquaterm.1.0.0.dylib
Referenced from: /usr/local/bin/gnuplot
Reason: image not found
error: you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function
octave-3.2.2:6>
我没有UNIX基金会来解决这个问题。有任何建议/修正吗?您已经安装了aquaterm 1.0.1,而gnuplot正在引用1.0.0,您显然没有在系统上安装它 我不太熟悉在Mac上安装库,但是您可以从中获取1.0.0.dmg文件 或者,最新版本的octave或gnuplot可能引用较新的库,因此您可以只升级其中一个库
这是一个真正的黑客,但我看到一些地方(包括)建议您只将1.0.0链接到1.0.1库。这通常是不可接受的,因为不能保证这些库是交叉兼容的。这将至少是一个快速修复,这样你就可以及时完成你的家庭作业 新进展 当我调查“/usr/local/lib/”时,我发现目录中有一个符号链接:
aquaterm-1.0.0 -> /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm
因此,我创建了一个类似的sym链接,使gnuplot要查找的文件(…1.0.1)指向默认的AquaTerm位置:
aquaterm-1.0.1 -> /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm
这修复了gnuplot启动问题。我通过绘制一个函数来验证gnuplot是否成功地自己绘制了:
Terminal type set to 'x11'
gnuplot> plot sin(x)
现在我在八度音阶中得到了新的错误: 然而,我已经验证了安装了gnuplot 4.0,并且实际上绘制了图形。所以现在看来,错误是在Octave和GNUPlot之间的通信中。如果可能的话,我会尝试更新到一个更新版本的gnuplot并报告
-布法罗问题可能与此有关 答案是:周五,2009-09-18 01:59-TeGa这对我来说很有效: 第1步: 将/Library/Frameworks/AquaTerm.framework替换为/opt/local/Library/Frameworks/AquaTerm.framework。这将确保gnuplot编译引用正确的64位AquaTerm库 第二步: 将/Applications/AquaTerm.app替换为/Applications/MacPorts/AquaTerm.app。这将确保正确的64位AquaTerm二进制文件位于正确的位置 资料来源:
octave-3.2.2:7> ezplot(f=inline('sin(x)'))
gnuplot> set terminal aqua enhanced title "Figure 1"
^
line 0: You can't change the terminal in multiplot mode
gnuplot> if (exists("GPVAL_TERM")) print GPVAL_TERM; else print NaN
^
line 0: invalid expression
error: Invalid call to strcat. Correct usage is:
-- Function File: strcat (S1, S2, ...)