Mac Rmagick не устанавливается с Xcode 4.2
Я только что получил новый 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 ответа
Я попытался загрузить и установить 4.1 для lion, и он даже не установился (без надлежащего сообщения об ошибке). Теперь коллега дал мне эту замечательную ссылку на GCC для Mac, которая работала как шарм: https://github.com/kennethreitz/osx-gcc-installer
Не забудьте скачать v2, если вы работаете на> 10.7.0
Я попробовал ваше решение (полное надежды), но, к сожалению, у меня оно не сработало. Наконец мне удалось заставить его работать, переустановив imagemagick без поддержки openmp (это библиотека, ответственная за lgomp)
используя Homebrew:
brew install imagemagick --disable-openmp
тогда rmagick установлен без проблем.
Для тех, кому нужна установка исходного кода, вы можете загрузить репозиторий исходного кода и выполнить эту команду в каталоге исходного кода imagemagick.
./configure --disable-openmp
Он будет работать аналогично версии brew выше, но с компиляцией исходного кода.
Я столкнулся с этой проблемой, используя Macports, но нет руководств, поэтому я добавлю один здесь:
- удалить ImageMagick: 'sudo port uninstall ImageMagick' // и все зависимые
- Загрузите Portfile-ImageMagick.diff здесь
- Следуйте руководству (расшифровано ниже): 'cd $(port dir ImageMagick)' 'patch -p0 <(загруженный файл патча)'
- 'sudo port install ImageMagick +no_openmp'