Проблема с установкой 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
Ответ 9
Вам нужно установить XCode 4.4, инструменты командной строки и т.д. Ознакомьтесь с полным списком здесь:
http://tektastic.com/2012/07/getting-rmagic-and-friends-to-work-on.html
Ответ 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, и эта проблема исчезла.