安装vips gem出现clang: error: unsupported option '-fopenmp'错误如何解决
报错原因
macOS 自带的 clang 编译器默认不支持 OpenMP 编译选项,即便你手动安装了 llvm 套件,Ruby 安装原生扩展时默认仍会调用系统原生 clang,因此触发该报错。
解决方案
- 首先确认已通过 Homebrew 安装 llvm 和 libvips,未安装可执行:
brew install llvm vips - 若直接安装 gem 包,执行以下命令指定 brew 安装的 llvm 作为编译器后再安装:
export CC=$(brew --prefix llvm)/bin/clang export CXX=$(brew --prefix llvm)/bin/clang++ export LDFLAGS="-L$(brew --prefix llvm)/lib" export CPPFLAGS="-I$(brew --prefix llvm)/include" gem install ruby-vips
- 若通过 bundle 批量安装依赖,先给 ruby-vips 配置专属编译参数再执行 bundle 安装:
bundle config set --local build.ruby-vips --with-cc=$(brew --prefix llvm)/bin/clang --with-cxx=$(brew --prefix llvm)/bin/clang++ bundle install
- 若按上述操作仍报错,可尝试重装 vips 并开启 OpenMP 支持:
brew reinstall vips --with-openmp
内容的提问来源于stack exchange,提问作者Dorian
相关产品推荐
相关产品推荐

