在 macOS Sierra 上安装 SPAMS

Installing SPAMS on macOS Sierra

本文关键字:安装 SPAMS Sierra macOS      更新时间:2023-10-16

我试图安装SparseModelingSoftware,它最初给了我这个错误:

clang: error: unsupported option '-fopenmp'

在谷歌搜索之后,我重新安装了 gcc 并导出了 CC 和 CXX 以指向/usr/local/bin/gcc-6 和/usr/local/bin/g++-6

但它仍然会给我这个错误:

spams/linalg/linalg.h:1680:10: error: expected '(' before 'isnan'
   if isnan(lambda) {

所以我去了那个linalg.h文件并添加了一些括号,但随后它给了我这个错误:

   spams/decomp/decomp.h:2602:6: internal compiler error: Segmentation fault: 11
 void coreGroupIST(const Matrix<T>& G, Matrix<T>& RtDm,
      ^~~~~~~~~~~~
spams/decomp/decomp.h:2602:6: internal compiler error: Abort trap: 6
gcc-6: internal compiler error: Abort trap: 6 (program cc1plus)

现在我不知道该如何进行。我在网上也找不到其他任何东西。根本问题似乎是macOS的gcc实际上指向了clang。但是 Xcode 附带的版本太旧了,没有 fopenmp 选项......

此链接 在OSX上更新GCC提供了通过安装macports来安装较新版本的gcc的方法。这也可以通过安装自制软件并使用brew install gcc47从他们的存储库下载来完成。不幸的是,这是我所知道的唯一两种选择。我不会重新粘贴答案,因为这很愚蠢,但在这里你有答案来安装和编译你的程序使用较新版本的 gcc。希望这可以解决您的问题。