Octave MacPorts无法使用

Octave MacPorts无法使用,octave,macports,Octave,Macports,我最近安装了MacPorts,如MacPorts网站上所述。整个过程进行得很顺利。我的主目录中的.profile文件已更新(在此文件中,路径“/opt/local/bin”和“/opt/local/sbin”被添加到环境变量PATH中),并且所有macports文件都在目录“/opt”中。当我在shell中键入“哪个端口”时,它返回“/opt/local/bin/port” 但是,当我要求安装端口“octave-devel”(我安装MacPorts是为了在Mac上使用octave)时,会发生一些

我最近安装了MacPorts,如MacPorts网站上所述。整个过程进行得很顺利。我的主目录中的.profile文件已更新(在此文件中,路径“/opt/local/bin”和“/opt/local/sbin”被添加到环境变量PATH中),并且所有macports文件都在目录“/opt”中。当我在shell中键入“哪个端口”时,它返回“/opt/local/bin/port”

但是,当我要求安装端口“octave-devel”(我安装MacPorts是为了在Mac上使用octave)时,会发生一些奇怪的事情。因此,当我在终端中输入命令“sudo-port-install-octave-devel+atlas+docs”(如中所述)并键入我的密码时,shell会回答“Error:port-octave-devel-not-found”。然而,端口“octave-devel”似乎是存在的,因为我在macports网站上找到了它的描述

因为我必须快速使用Octave,我首先想卸载MacPorts并安装Fink,我尝试了MacPorts网站上描述的方法,但在键入“sudo port-fp uninstall installed”后,返回“错误:没有与给定表达式匹配的端口”。我甚至不能卸载这个软件!我真的认为这是MacPorts本身的问题,而不是倍频程端口的问题,但我找不到确切的原因

最后,我在Windows电脑上使用了Octave,但我不知道我电脑上的MacPorts有什么问题,这让我很恼火。主要是,我希望能够在我的Mac电脑上使用GNU八度音阶,因为我在学校需要它


提前感谢您,祝您节日快乐。

我正在通过MacPorts安装Octave。我使用了我在Shifteleven.com上找到的以下命令:

sudo port install octave-devel +gcc45

到目前为止,它似乎正在发挥作用。您还需要确保您已经安装了Xcode命令行工具,这是我第一次尝试时忘记做的事情。

我不确定您正在运行哪个版本的OSX,但是,我在运行OSX 10.9.1的机器上通过macports安装了octave(不是octave-devel)3.6.4版。这是通过以下方式构建的:

sudo端口安装倍频程

这会产生一个已知的错误,该错误是由于缺少fortran编译器而导致构建atlas依赖关系。此时,您有两个选择。在尝试安装octave之前,首先尝试单独安装atlas,或者使用gcc4x标志覆盖标准clang编译器,或者使用以下方法安装atlas:

sudo端口安装atlas+nofortran


使用叮当声运行良好。安装atlas后,octave应该可以构建完成,尽管您可能会发现apple将arpack用作矢量库时出现错误。首选使用+arpack,因此在开始octave安装之前也可以手动加载它。

尝试使用MacPorts安装octave时,我遇到了类似的问题

摘要

我的解决方案是首先使用gcc47而不是默认的mpclang34分别清理和构建atlas。然后构建默认的八度音阶

详细信息

这是在一个运行旧操作系统(10.7.5)的MacBook上,标准的Octave(3.8.2)包无法构建-它需要构建atlas依赖项

解决方案:

sudo port clean atlas
sudo port -v install atlas +gcc48
sudo port -v install octave +atlas+docs 

我在OSX 10.10.1上使用Macports安装Octave时也遇到了问题,并解决了这些问题,类似于@Tom_N_PDX和@isak

短版 我使用@isak描述的一个选项使它工作

更详细的版本 运行
sudo-port-install-octave
失败,因为缺少Fortran编译器问题

接下来,我使用Macports
sudo端口安装gcc48
安装Fortran,然后尝试重新安装Octave

sudo port clean octave    
sudo port install octave
正如其他人提到的,这个“挂”在Atlas上,尽管我现在意识到这只需要很长时间,我在它完成之前就把它杀死了。很可能它会工作,正如输出所说,它已经找到了Fortran

所选C编译器:/usr/bin/clang

所选F77编译器:gfortran48

然后,我使用@isak建议的
+gcc48
标志分别安装了atlas

sudo port install atlas +gcc48
但是它显示了与上面相同的编译器信息(与我的推测一致,上面的方法会起作用)。这个过程花了大约4个小时。您可以在日志文件(使用命令
sudo-port-logfile-atlas
)中监视任务的进度,这可以让您确信它正在做某事,而不是“挂起”。(奇怪的是,输出确实停止了中间消息,但最终总是恢复。还有很多警告消息。)

最后,运行以下操作是有效的:

sudo port clean octave
sudo port install +arpack
事实上,我第一次尝试时没有使用
+arpack
选项,结果成功了,但我得到了以下消息,与@isak的答案一致

警告:依赖项“arpack”与+accelerate变体一起安装,使用Apple的矢量库,这些矢量库存在一些已知的错误,如果在arpack中使用某些函数,可能会导致倍频程崩溃。+atlas变体在倍频程上没有这些问题,但即使在现代硬件上编译也需要很多小时


当我用
+arpack
标志重新安装Octave时,只花了不到一分钟的时间(因为我已经安装了Atlas)。

我在MacPorts上也遇到了类似的问题。我建议改用自制的。以下是在自制软件上安装Octave的命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew update

brew upgrade

brew install octave

我与fink、MacPorts等较老的软件包经理相比,运气要好得多。谢谢!但我想(至少!)在之前卸载MacPorts。最好是能够让MacPorts正常工作。哦,我在MacOSX上使用的是octave,由自制软件安装,工作正常。我建议删除MacPorts,安装自制软件,然后
brew安装octave
…好吧。但是如何正确卸载MacPorts?请参阅: