在 Mac OS 10.6 上安装 RMagick 时出错

Error installing RMagick on Mac OS 10.6

我正在尝试安装 RMagick 以在 Rails 应用程序中使用它,但我遇到了一些问题。

我正在使用 Rails 5 和使用 rvm 安装的 Ruby 2.3.1。 OS 是 OSX 10.6 我已经使用 macports[= 安装了 ImageMagick 27=].

当 Bundler 尝试安装 RMagick gem 我可以看到安装失败并查看日志我可以看到以下结果:

find_executable: checking for clang... -------------------- yes
find_executable: checking for Magick-config... -------------------- yes
configure_compile_options: checking for outdated ImageMagick version (<= 6.4.9)... no
Detected ImageMagick version: 6.9.5
configure_compile_options: checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
Detected 6.9+ version, using MagickWand API
assert_minimum_ruby_version!: checking for Ruby version >= 1.8.5...  yes
"clang -o conftest -I/Users/jonny/.rvm/rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin10.0 
-I/Users/jonny/.rvm/rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward 
-I/Users/jonny/.rvm/rubies/ruby-2.3.1/include/ruby-2.3.0 -I.  
-fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 
-fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 
-I/opt/local/include/ImageMagick-6  -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 
-DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 
-DMAGICKCORE_QUANTUM_DEPTH=16 
-I/opt/local/include/ImageMagick-6 conftest.c  -L. 
-L/Users/jonny/.rvm/rubies/ruby-2.3.1/lib -L/opt/local/lib  
-L/opt/local/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16    
-L/opt/local/lib -lMagickWand-6.Q16 -lMagickCore-6.Q16  
-lruby.2.3.0  -lpthread -lgmp -ldl -lobjc "
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

有人有办法解决这个问题吗?

我已经自己解决了这个问题。出现问题是因为旧版本的 clang 不支持 openmp 所以我们必须安装更新的版本。

使用 macports 我安装了另一个版本的 clang 启用 openmp 版本。

sudo port install clang-3.7 +openmp

安装后我使用命令

检查了安装的clang的名称
sudo port select --list clang

新安装的 clang 名称是 mp-clang-3.7 所以在控制台中输入

sudo port select --set clang mp-clang-3.7

select 正确的版本。

完成后我可以使用 bundle 正确安装 RMagick