Проблема с установкой 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>'

Ответ 1

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

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

Мне не нужно было напугать gcc, как упоминалось выше.

Ответ 2

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

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

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

Ответ 3

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

$ 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

Ответ 4

Итак, после обновления моего mac pro до Mountain Lion моя рубиновая среда начала кричать разными ошибками один за другим. После 1-2 часов пробной ошибки и ошибок в Google, вот как я исправил свой рубин на окружении рельсов.

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

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

Install Command Line Tools

Шаг 2: Install XQuartz

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

Шаг 3: Теперь ваш рубиновый 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.

Ответ 5

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

Ответ 6

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

  • Вам необходимо установить Xcode и средства командной строки для gcc/g++ и т.д. Инструменты командной строки не устанавливаются автоматически с помощью Xcode, go 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 variable - 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 установлен успешно - проверьте, где он установлен, перейдите в каталог примеров внутри и запустите некоторые из программ.

Ответ 7

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

Ответ 8

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

xcode-select --install

Ответ 10

Я нашел решение для меня было комбинацией шагов, перечисленных выше, в 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, установленный доморощенным). Прежде чем я понял, что мне нужно установить инструменты командной строки, я попытался сделать эту символическую ссылку, а затем начал видеть другие сбои сборки gem. Установка средств командной строки исправила эти проблемы - я считаю, что инструменты командной строки xcode сделали ее символической ссылкой на llvm-gcc-4.2.

Ответ 11

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