【问题标题】:MacPorts is unusableMacPorts 无法使用
【发布时间】:2012-12-12 22:11:08
【问题描述】:

我最近按照 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 网站的this page 上找到了它的描述。

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

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

提前谢谢你,节日快乐。

【问题讨论】:

  • 我使用homebrew 的运气比使用任何较旧的包管理器都要好得多,例如fink、MacPorts 等
  • 谢谢!但我想(至少!)设法卸载 MacPorts。最好是能够让 MacPorts 工作。
  • 好吧,FWIW 我在这里在 Mac OS X 上使用 octave,由 homebrew 安装,它工作正常。我建议删除 MacPorts,安装自制软件,然后 brew install octave...
  • 好的。但是如何正确卸载 MacPorts?

标签: octave macports


【解决方案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

【讨论】:

    【解决方案2】:

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

    短版

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

    更详细的版本

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

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

    sudo port clean octave    
    sudo port install octave
    

    正如其他人所提到的,这个“挂”在阿特拉斯上,虽然我现在意识到它需要很长时间,并且我在它完成之前杀死了它。很可能它会起作用,因为输出表明它找到了 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 中使用某些函数,这些错误可能会导致 Octave 崩溃。 +atlas 变体在 Octave 中没有这些问题,但即使在现代硬件上也需要花费很多时间来编译。

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

    【讨论】:

      【解决方案3】:

      尝试使用 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 
      

      【讨论】:

        【解决方案4】:

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

        sudo 端口安装八度

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

        sudo port install atlas +nofortran

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

        【讨论】:

          【解决方案5】:

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

          sudo port install octave-devel +gcc45
          

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-05-30
            • 2013-11-06
            • 1970-01-01
            • 2016-04-02
            • 1970-01-01
            • 2012-01-05
            • 2020-09-28
            • 2011-10-21
            相关资源
            最近更新 更多