Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
倍频程+;GNUPlot+;Aquaterm&x2B;MacOS10.6_Macos_Unix_Osx Snow Leopard_Octave - Fatal编程技术网

倍频程+;GNUPlot+;Aquaterm&x2B;MacOS10.6

倍频程+;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

我正试图在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/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, ...)