Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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
Macos 在El Capitan上为倍频程安装control v3.0.0软件包时出错_Macos_Octave_Macports - Fatal编程技术网

Macos 在El Capitan上为倍频程安装control v3.0.0软件包时出错

Macos 在El Capitan上为倍频程安装control v3.0.0软件包时出错,macos,octave,macports,Macos,Octave,Macports,我最近使用本网站上的二进制安装程序安装了Octave: 然后,我尝试使用“pkg安装-forge-control”安装控制包,但它给我的错误是“pkg:error”为控制包运行“make”。我已经阅读了关于这个错误的大部分线程,但是没有成功 然后,我尝试使用MacPorts安装控制包,我遵循上面wiki页面上的说明,并从以下线程获得一些帮助:。我相信我成功地安装了这些软件包,因为我可以在Octave的文件夹树中看到它们,MacPorts说它是在使用控制台时安装的 问题是,当我在Octave中运行

我最近使用本网站上的二进制安装程序安装了Octave:

然后,我尝试使用“pkg安装-forge-control”安装控制包,但它给我的错误是“pkg:error”为控制包运行“make”。我已经阅读了关于这个错误的大部分线程,但是没有成功

然后,我尝试使用MacPorts安装控制包,我遵循上面wiki页面上的说明,并从以下线程获得一些帮助:。我相信我成功地安装了这些软件包,因为我可以在Octave的文件夹树中看到它们,MacPorts说它是在使用控制台时安装的

问题是,当我在Octave中运行一些代码时,它无法构建,因为它不知道我已经安装了任何其他软件包。在Octave中使用“pkg list”表示没有安装其他软件包。我觉得我需要把两者联系起来,但我不知道怎么做

如果需要的话,我很乐意解释更多,我希望你能帮助我

非常感谢,

Sam.

您不能“将两者联系在一起”(假设您指的是二进制版本的倍频程和MacPorts版本)

如果您通过MacPorts安装了octave的MacPorts版本的软件包,那么这些软件包只能从octave的MacPorts版本中获得,因此请确保您正在运行该软件包


否则,请找出如何安装八度二进制版本的软件包。似乎您需要一个构建环境来实现这一点,但是安装命令行工具(您必须这样做才能使MacPorts工作)可能已经解决了这个问题。

这似乎是gfortan编译器内置Octave的问题。要解决这个问题,您应该安装一个外部fortran编译器。 试试这个:

  • 为Xcode安装Xcode和命令行工具
  • 下载并安装适用于MacOS的fortran编译器,例如:
  • 在倍频程中更改fortran编译器路径,如果您安装了我在第2点中建议的编译器,则只需打开倍频程并键入:
    setenv('F77','/usr/local/gfortran/bin/gfortran')
  • 享受MacOS的八度音阶

    您没有提供足够的信息进行精确诊断,但我收到了相同的错误消息(还有一些错误),从源代码处重新安装octave解决了这个问题;有关更多信息,请参阅,但基本上您可以通过运行
    brew重新安装--从源代码八度音阶编译来完成,谢谢。现在完全通过MacPorts重新安装所有组件。希望这能奏效。非常感谢!我还试图在OS X 10.13.4上安装control-3.1.0八度音阶(Mac)pkg。Mac的最新gfortran现在是v。6.3. 我已经安装并在终端中验证了它。如上所述,我从octave cli(在终端中)运行了setenv命令,但仍然在pkg安装命令上得到一个directory not found错误。要使Octave“意识到”已更改的fortran编译器,需要什么?除此之外:更改为setenv('F77','usr/local/bin/gfortran')有效。终端中“which gfortran”返回的相同目录。