Проблема с установкой ImageMagick и rmagick на Mountain Lion

У меня проблемы с установкой rmagick в горном льве. Я установил Xcode 4.4 и инструменты разработчика. Все еще сталкивается с этой проблемой.

    Installing rmagick (2.13.1) with native extensions Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Thanks!
    /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:552:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

            /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/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
        --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/mohit/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
    /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/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.
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
        from extconf.rb:193:in `<main>'


    Gem files will remain installed in /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/rmagick-2.13.1 for inspection.
    Results logged to /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:530:in `block in build_extensions'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:505:in `each'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:505:in `build_extensions'
        from /Users/mohit/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:180:in `install'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/source.rb:90:in `block in install'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/rubygems_integration.rb:82:in `preserve_paths'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/source.rb:89:in `install'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/installer.rb:73:in `block in install_gem_from_spec'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/rubygems_integration.rb:97:in `with_build_args'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/installer.rb:72:in `install_gem_from_spec'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/installer.rb:56:in `block in run'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/installer.rb:55:in `run'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/installer.rb:12:in `install'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/cli.rb:220:in `install'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/vendor/thor/task.rb:22:in `run'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/vendor/thor.rb:263:in `dispatch'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/vendor/thor/base.rb:386:in `start'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/bin/bundle:13:in `<top (required)>'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/bin/bundle:19:in `load'
        from /Users/mohit/.rvm/gems/ruby-1.9.3-p125/bin/bundle:19:in `<main>'

person Mohit Jain    schedule 26.07.2012    source источник


Ответы (11)


Я только что обновился до Mountain Lion сегодня утром, и у меня были проблемы с магией. В какой-то момент в прошлом я установил ImageMagick через homebrew, так что это сработало для меня после установки новых инструментов командной строки через окно настроек xcode.

brew update
brew uninstall ImageMagick
brew install ImageMagick
gem uninstall rmagick
gem install rmagick

Мне не нужно было заморачиваться с gcc, как упоминалось в некоторых сообщениях выше.

person Sean Levin    schedule 08.10.2012

Я наконец решил это, используя:

$ cd /usr/local/Cellar/imagemagick/6.8.0-10/lib
$ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
$ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
$ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib

Решение взято с https://coderwall.com/p/wnomjg.

person balexand    schedule 31.12.2012

я получал то же самое

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

сделал это, как написано в https://gist.github.com/1860511

person Herón Ordóñez Guillén    schedule 26.07.2012
comment
У меня была такая же проблема с другим камнем (hpricot), и это исправило ее! - person Eric Skiff; 27.02.2013

Итак, после обновления моего Mac Pro до Mountain Lion моя рубиновая среда начала кричать с разными ошибками одна за другой. После 1-2 часов проб - ошибка и гугление, вот как я исправил свою среду ruby ​​on rails.

Сначала я получил ошибки ruby ​​env. Он не обнаруживал команды git, и Bundler кричал об ошибках, когда я запускал foreman start

Шаг 1 : Update XCode. Получить последнюю версию Xcode 4.6 Mountain Lion не поставляется с предварительно установленными рубиновыми заголовками, поэтому вам нужно сделать это вручную из XCode. Перейдите к настройкам/загрузкам Xcode.

Install Command Line Tools

Шаг 2: Install XQuartz

Выйдите из системы и войдите снова. (Возможно, вам это не понадобится, так как формула imagemagick была обновлена.

Шаг 3: Теперь ваш ruby ​​env начнет говорить об ошибках Imagemagick. Сделайте следующее:

brew update

brew uninstall imagemagick

brew install --fresh imagemagick

gem uninstall rmagick 2.13.2

gem install rmagick

После того, как вы попробовали последний, теперь он будет выдавать вам собственные ошибки расширения, подобные этому.

Installing rmagick (2.13.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/priyanka/.rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb 
checking for Ruby version >= 1.8.5... yes
checking for /usr/bin/gcc-4.2... no
No C compiler found in ${ENV['PATH']}. See mkmf.log for details.
*** 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/priyanka/.rvm/rubies/ruby-1.9.2-p180/bin/ruby


Gem files will remain installed in /Users/priyanka/.rvm/gems/ruby-1.9.2-p180/gems/rmagick-      2.13.1 for inspection.
Results logged to /Users/priyanka/.rvm/gems/ruby-1.9.2-p180/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
An error occured while installing rmagick (2.13.1), and Bundler cannot continue.
Make sure that `gem install rmagick -v '2.13.1'` succeeds before bundling.

Шаг 4: sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2

Это должно исправить все проблемы, которые Mountain Lion подарил вам после обновления.

Просто запустите bundle.

person PriyankaK    schedule 06.02.2013

Попробуйте изменить свой путь так, чтобы /usr/local/bin был вставкой перед /usr/bin. Я нашел этот работающий brew doctor, и это позволило мне закончить компиляцию imagemagick.

person Jdizzle Foshizzle    schedule 31.07.2012

Вот краткий обзор того, как мне удалось заставить RMagick работать после нескольких попыток. Я считаю, что это лучший способ получить его, не затрачивая усилий на загрузку архивов с исходным кодом и компиляцию — оставьте это экспертам

  • Вам необходимо установить Xcode и инструменты командной строки для gcc/g++ и т. д. Инструменты командной строки не устанавливаются автоматически вместе с Xcode, перейдите в Preferences и установите его.
  • Затем установите Macport.
  • Также установите Homebrew.
  • Убедитесь, что у вас установлен сервер X11, если нет - sudo port install -v xorg-server. Я использую опцию -v, так как это долгая установка, и вы можете задаться вопросом, делает ли она что-то или просто зависает.
  • Установить pkgconfig - sudo brew install pkgconfig
  • теперь пришло время установить ImageMacick - sudo port install -v ImageMagick
    не используйте brew для установки ImageMagick - он не устанавливает все зависимости и делегирует должным образом.
  • как только ImageMagick установлен - установите переменную DISPLAY env - export DISPLAY=:0.0 - лучше поместите ее в свой .profile
  • Теперь проверьте установку ImageMagick.
  • запустите сервер X11 (после установки сервера X11 он появится в вашем списке приложений)
  • из командной строки запустить - $convert logo: logo.gif; identify logo.gif; display logo.gif - должно появиться всплывающее окно с logo.gif
  • также запустите команду из командной строки - $convert -list configure | grep -i delegates. Он должен вывести следующее:
    DELEGATES bzlib fftw fontconfig freetype gs jpeg jng lcms2 lzma png tiff x11 xml zlib

  • Теперь вы должны быть настроены на запуск sudo gem install RMagick

После успешной установки RMagick проверьте, где он установлен, перейдите в каталог примеров и запустите некоторые программы.

person Sanjay Kumar    schedule 14.02.2013

Никакие решения не работали для меня, в конце концов я запустил brew doctor и обнаружил, что мне нужно связать imagemagick с brew link --overwrite imagemagick

person LpLrich    schedule 05.07.2014

У меня была похожая проблема, но на El Captain. Лучше объяснить здесь. Исправлено после установки инструментов командной строки xcode:

xcode-select --install
person Lev Lukomsky    schedule 17.02.2016

Вам необходимо установить XCode 4.4, инструменты командной строки и т. д. Ознакомьтесь с полным списком здесь: http://tektastic.com/2012/07/getting-rmagic-and-friends-to-work-on.html

person Konstantin Gredeskoul    schedule 27.07.2012

Я обнаружил, что решение для меня представляет собой комбинацию шагов, перечисленных выше, по адресу http://tektastic.com/2012/07/getting-rmagic-and-friends-to-work-on.html и здесь http://robots.thoughtbot.com/post/27985816073/the-Hitchhikers-guide-to-riding-a-mountain-lion, хотя мне не нужно было делать все шаги, перечисленные в обоих сообщениях. Но мне нужно было установить инструменты командной строки из XCode, я упустил эту деталь в первые несколько раз. Мне также пришлось установить gcc-4.2 с помощью homebrew и сделать символическую ссылку на эту установку в моем каталоге bin.

Я мог бы запутаться в том, что происходит с разными компиляторами, но я был бы осторожен с символической связью /usr/bin/gcc с /usr/bin/gcc-4.2 (которая, в свою очередь, может быть ссылкой на gcc-4.2, установленную доморощенный). Прежде чем я понял, что мне нужно установить инструменты командной строки, я попытался создать эту символическую ссылку, а затем начал видеть другие сбои сборки драгоценных камней. Установка инструментов командной строки устранила эти проблемы — я полагаю, что инструменты командной строки xcode сделали символическую ссылку на llvm-gcc-4.2.

person echoesofspring    schedule 27.07.2012
comment
Мне также пришлось удалить ImageMagick и переустановить его с помощью Brew. Казалось, это удалось. - person Joshua Pinter; 31.07.2012

Я только что установил rmagick 2.13.2, и эта проблема исчезла.

person Jonathan Roy    schedule 13.07.2013