【问题标题】:Compiling Elmer FEM on macOS Mojave causes the fatal error: 'string.h' file not found在 macOS Mojave 上编译 Elmer FEM 会导致致命错误:找不到“string.h”文件
【发布时间】:2020-03-08 11:24:47
【问题描述】:

我正在尝试关注 these instructions 在 macOS Mojave Version 10.14.6 上编译 Elmer FEM。但是,在运行 make install 时,我收到错误消息:

.../elmerfem/umfpack/src/umfpack/include/umf_internal.h:29:10: fatal error: 'string.h' file not found
#include <string.h>
         ^~~~~~~~~~
1 error generated.
make[2]: *** [umfpack/src/umfpack/umfpack_zl_save_symbolic.c] Error 1
make[2]: *** Deleting file `umfpack/src/umfpack/umfpack_zl_save_symbolic.c'
make[1]: *** [umfpack/src/umfpack/CMakeFiles/umfpack.dir/all] Error 2
make: *** [all] Error 2

搜索互联网this post建议

  • xcode-select --install
  • sudo xcode-select --switch /Library/Developer/CommandLineTools/

这在我之前已经完成并且对上述错误没有影响。 Thisthis 发布建议

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target / -allowUntrusted

这会导致错误消息

安装程序:安装失败(安装程序遇到错误导致安装失败。请联系软件制造商寻求帮助。)

如果您能帮助我了解问题所在以及如何解决,我将不胜感激。提前感谢您的支持。

P.S.1.here 所问,我的make 版本是GNU Make 3.81

P.S.2. 我硬盘上的string.h 文件列表here

P.S.3. CMake 的输出粘贴为here

【问题讨论】:

    标签: macos cmake compiler-errors


    【解决方案1】:

    好的,我想我解决了这个问题。从here,我跑了

    cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ..
    

    build 文件夹中时。然后make . 工作正常,除了一些警告。我仍然不确定问题出在哪里,或者这是否是最佳/规范解决方案。因此,在其他人提供更好的解决方案之前,我不会将此标记为已接受的解决方案。

    P.S.1.我也发送了关于 Elmer 的 HomeBrew 配方的拉取请求 here

    P.S.2. 使用 OpenMP 和 MPI 进行编译:

    cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/9.2.0_3/bin/gcc-9 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/9.2.0_3/bin/g++-9 -DWITH_Mumps=FALSE -DWITH_MPI=TRUE -DWITH_OpenMP=TRUE -DWITH_MKL=FALSE -DWITH_ELMERGUI=TRUE -DWITH_ELMERPOST=FALSE -DWITH_ELMERGUITESTER=FALSE ..
    

    我通过 HomeBrew brew install gcc open-mpi 安装了 GNU GCC 和 OpenMPI。

    P.S.3.如果您还想安装 ElmerGUI:

    1. 使用brew install cartr/qt4/qt@4here 安装qt4
    2. brew install cartr/qt4/qwt-qt4安装qwt
    3. 然后cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/9.2.0_3/bin/gcc-9 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/9.2.0_3/bin/g++-9 -DWITH_Mumps=FALSE -DWITH_MPI=TRUE -DWITH_OpenMP=TRUE -DWITH_MKL=FALSE -DWITH_ELMERGUI=TRUE -DWITH_ELMERPOST=TRUE -DWITH_ELMERGUITESTER=TRUE -DQWT_INCLUDE_DIR=/usr/local/Cellar/qwt-qt4/6.1.3_1/lib/qwt.framework/Versions/6/Headers/ ..

    【讨论】:

      猜你喜欢
      • 2018-12-18
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多