1

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

但是当我要求安装端口“octave-devel”时发生了一些奇怪的事情(我首先安装了 MacPorts 以在我的 Mac 上使用 Octave)。因此,当我在终端中输入命令“sudo port install octave-devel +atlas+docs”(如GNU Octave wiki中所述)并输入我的密码时,shell 会回复“错误:未找到端口 octave-devel”。然而,端口“octave-devel”似乎存在,因为我在macports 网站的这个页面上找到了它的描述。

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

最终我在 Windows 计算机上使用了 Octave,但不知道我的计算机上的 MacPorts 出了什么问题让我很恼火。主要是,我希望能够在我的 Mac 上使用 GNU Octave,因为我在学校需要它。

提前谢谢你,节日快乐。

4

5 回答 5

3

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

sudo 端口安装八度

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

sudo 端口安装 atlas +nofortran

使用clang运行良好。安装 atlas 后,octave 应该构建完成,尽管您可能会发现有关 Apple 使用 arpack 作为矢量库的错误。首选使用 +arpack,因此在开始 octave 安装之前手动加载它可能会很有用。

于 2014-03-03T18:01:02.640 回答
1

尝试使用 MacPorts 安装 Octave 我遇到了类似的问题。

概括

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

细节

这是在运行旧操作系统 (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 
于 2014-10-05T23:30:37.697 回答
0

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

精简版

我使用@isak 描述的选项之一让它工作。

更详细的版本

sudo port install octave由于缺少 Fortran 编译器问题,运行失败。

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

sudo port clean octave    
sudo port install octave

正如其他人所提到的,这个“挂”在阿特拉斯上,虽然我现在意识到它只需要很长时间,我在它完成之前就把它杀死了。可能它会起作用,因为输出表明它找到了 Fortran

选择的 C 编译器:/usr/bin/clang

选择的 F77 编译器:gfortran48

+gcc48然后我按照@isak 的建议使用标志单独安装了地图集

sudo port install atlas +gcc48

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

最后,运行以下工作:

sudo port clean octave
sudo port install +arpack

实际上,我首先尝试不使用该+arpack选项并且它有效,但我收到以下消息,与@isak 的回答一致

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

当我用+arpackflag 重新安装 Octave 时,不到一分钟(因为我已经安装了 Atlas)。

于 2015-01-30T15:46:27.610 回答
0

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

sudo port install octave-devel +gcc45

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

于 2013-08-12T11:02:45.950 回答
-1

我对 MacPorts 也有类似的问题。我建议改用 HomeBrew。以下是在 HomeBrew 上安装 Octave 的命令:

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

brew update

brew upgrade

brew install octave
于 2019-11-26T13:32:12.577 回答