Mac Rmagick не устанавливается с Xcode 4.2 - PullRequest
20 голосов
/ 01 ноября 2011

Я только что получил новый MacBook Pro и пытаюсь настроить свою среду разработки.Я скачал xcode 4.2 из магазина приложений и установил его, после этого я установил homebrew и RVM.ImageMagick, readline, ruby ​​1.9.3-head все отлично устанавливались, пока я не запустил обновление пакета, которое пыталось установить rmagick.

После долгого изучения я пришел к выводу, что он не может найти libgomp.

Вывод из gem install rmagick:

$ gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.

        /Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/bin/ruby
/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.

Вот мой файл mkmf.log:

"clang -o conftest -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1/ruby/backward -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1 -I.  -I/usr/local/Cellar/imagemagick/6.7.1-1/include/ImageMagick  -I/usr/local/Cellar/imagemagick/6.7.1-1/include/ImageMagick -fopenmp conftest.c  -L. -L/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/lib  -L/usr/local/Cellar/imagemagick/6.7.1-1/lib -L/usr/X11/lib    -L/usr/local/Cellar/imagemagick/6.7.1-1/lib -lMagickCore -llcms -ltiff -lfreetype -ljpeg -L/usr/X11/lib -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl  -lruby.1.9.1  -lpthread -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() {return 0;}
/* end */

Теперь я предположил, что что-то не так сxcode я попробовал несколько вещей:

  • Переустановите xcode
  • Удалите imagemagick и переустановите его, включая другие библиотеки, такие как jpg, libpng и т. д.
  • Установлена ​​более старая версия imagemagick
  • Удалил .rvm и переустановил свежую копию ruby ​​

Понятия не имею, что мне остается попробовать, может кто-нибудь помочь мне подтолкнуть меня в правильном направлении?

Ответы [ 4 ]

67 голосов
/ 02 ноября 2011

Я попробовал ваше решение (полное надежды), но, к сожалению, у меня оно не сработало.Наконец мне удалось заставить его работать, переустановив imagemagick без поддержки openmp (это библиотека, ответственная за lgomp)

, используя Homebrew:

brew install imagemagick --disable-openmp

, затем rmagick установился без проблем.

1 голос
/ 02 октября 2012

Для людей, которым нужна установка исходного кода, вы можете загрузить репозиторий исходного кода и выполнить эту команду в каталоге исходного кода imagemagick.

. / Configure --disable-openmp

Он будет работать аналогично версии brew выше, но с компиляцией исходного кода.

1 голос
/ 01 ноября 2011

Я пытался загрузить и установить 4.1 для lion, но он даже не установился (без правильного сообщения об ошибке).Теперь коллега дал мне эту замечательную ссылку на GCC для Mac, которая работала как шарм: https://github.com/kennethreitz/osx-gcc-installer

Не забудьте скачать v2, если вы работаете на> 10.7.0

0 голосов
/ 12 ноября 2013

Я столкнулся с этой проблемой при использовании Macports, но нет руководств, поэтому я добавлю их сюда:

  1. удаление ImageMagick: 'sudo port uninstall ImageMagick' // и любые зависимые элементы
  2. скачайте Portfile-ImageMagick.diff с здесь
  3. Следуйте гиду (расшифровано ниже): 'cd $ (port dir ImageMagick)' 'patch -p0 <(загруженный файл патча)' </li>
  4. 'sudo port install ImageMagick + no_openmp'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...