Не може да се инсталира rmagick gem на Mountain Lion

Забележка: моята ситуация е почти идентична с тази: Не мога да инсталирам pg gem на Mountain Лъв.

Току-що надстроих от Snow Leopard до Mountain Lion и Rails ми създава всякакви проблеми, особено опитът да инсталирам скъпоценния камък „rmagick“. Работя с Ruby 1.9.3-p362 и Rails 3.2.11.

➜  git:(master) ✗ sudo gem install rmagick -v 2.13.1
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc-4.2... yes
checking for Magick-config... yes

Warning: Found more than one ImageMagick installation. This could cause problems at runtime.
         /opt/local/bin/Magick-config reports version 6.6.6 Q8 is installed in /opt/local
         /OPT/LOCAL/BIN/Magick-config reports version 6.6.6 Q8 is installed in /opt/local
         /USR/LOCAL/BIN/Magick-config reports version 6.8.0 Q16 is installed in /USR/LOCAL/Cellar/imagemagick/6.8.0-10
Using 6.6.6 Q8 from /opt/local.

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/sscirrus/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
/Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /Users/sscirrus/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:833:in `have_header'
    from extconf.rb:193:in `<main>'


Gem files will remain installed in /Users/sscirrus/.rvm/gems/ruby-1.9.2-p320/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/sscirrus/.rvm/gems/ruby-1.9.2-p320/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

➜  applyco git:(master) ✗ brew install imagemagick --disable-openmp
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Error: imagemagick-6.8.0-10 already installed

➜  applyco git:(master) ✗ apt-get install libmagick9-dev
zsh: command not found: apt-get

Опитах:

  • Инсталиране на Xcode с инструменти на командния ред
  • Преинсталиране на homebrew
  • Изчистване на всички скъпоценни камъни на моето репо (включително Gemfile.lock) и стартиране на bundle install
  • Преинсталиране на скъпоценния камък на пакета
  • Преинсталиране на ImageMagick

Нищо, включително отговорите другаде на SO, не е било от полза. Можете ли да ме насочите в правилната посока?


person sscirrus    schedule 18.01.2013    source източник
comment
Тук преминавам през същия проблем... Но една разлика, може би вашият домашен продукт е свързан с друга версия на Imagemagick. Така че, въпреки че imagemagick-6.8.0-10 е инсталиран, не се намира. Опитайте нещо като brew unlink imagemagick след това brew link imagemagick и вижте какво ще се случи. Опитвали ли сте brew doctor?   -  person iGallina    schedule 24.01.2013


Отговори (4)


Имах същия проблем като вас при настройването на моята среда за разработка на Mountain Lion за RoR 3.2.11. Очевидно последната версия на RMagick (2.13.1) не работи добре при компилиране с последната версия на ImageMagick (6.8.2-0). Деактивирането на openmp и изграждането от източника работи като, хм... Магия.

brew uninstall imagemagick
brew install imagemagick --disable-openmp --build-from-source
gem install rmagick

Не трябваше да редактирам формулата за варене, описана в http://blog.paulopoiati.com/2013/01/28/installing-rmagick-in-mac-os-x-mountain-lion-with-homebrew/ , но това ще бъде следващата стъпка, която трябва да опитате.

person Stefan Lyew    schedule 12.03.2013

Тук преминавам през същия проблем... Но една разлика, може би вашият домашен продукт е свързан с друга версия на Imagemagick.

Така че, въпреки че imagemagick-6.8.0-10 е инсталиран, не се намира.

Опитайте нещо като brew unlink imagemagick след това brew link imagemagick и вижте какво ще се случи.

Това реши проблема ми http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion

person iGallina    schedule 24.01.2013

Може да е проблем с разрешенията, опитайте да стартирате

sudo chown -R `whoami` /usr/local

и след това опитайте отново.

person Genu    schedule 08.06.2013
comment
Това трябва да е валидираният отговор. - person Mr_Pouet; 26.07.2013

Имах същия проблем, докато се опитвах да използвам Paperclip с Rails 3 за първи път. Само за да обобщя предишните отговори, това, което работи за мен, беше следното:

sudo chown -R `whoami` /usr/local
brew link --overwrite imagemagick

Благодаря!

person Mr_Pouet    schedule 17.06.2013