我正在尝试安装 RMagick 以在Rails应用程序中使用它,但我遇到了一些问题。
我使用 Rails 5 并使用rvm安装 Ruby 2.3.1 。操作系统 OSX 10.6 ,我已经使用 macports 安装 ImageMagick 。
当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 */
有人有解决问题的方法吗?
答案 0 :(得分:0)
我自己解决了这个问题。出现此问题的原因是 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
选择正确的版本。
完成后我可以使用bundle正确安装 RMagick 。