ruby xcode gcc imagemagick rmagick

ruby - Mac Rmagick no se instalará con Xcode 4.2



gcc imagemagick (4)

Intenté descargar e instalar 4.1 para Lion y esto ni siquiera se instaló (sin un mensaje de error adecuado). Ahora, un colega me dio este gran enlace a GCC para Mac que funcionó a la perfección: https://github.com/kennethreitz/osx-gcc-installer

No olvides descargar v2 si ejecutas en> 10.7.0

Acabo de recibir un nuevo Macbook Pro y estoy intentando configurar mi entorno de desarrollo. Descargué xcode 4.2 de la tienda de aplicaciones y lo instalé, después de esto instalé homebrew y RVM. ImageMagick, readline, ruby ​​1.9.3-head se instalaron perfectamente hasta que ejecuté la actualización del paquete que intenté instalar rmagick.

Después de mucho tiempo investigando llegué a la conclusión de que no puede encontrar libgomp.

La salida es de gem install rmagick es:

$ 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.

Aquí está mi archivo 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 */

Ahora asumí que algo estaba mal con xcode. Probé varias cosas:

  • Reinstalar xcode
  • Elimine imagemagick y reinstálelo incluyendo otras bibliotecas como jpg, libpng, etc.
  • Instalada la versión anterior de imagemagick
  • Se eliminó .rvm y se reinstaló una copia nueva de ruby

No tengo ni idea de lo que me queda por intentar, ¿podría alguien ayudarme a empujarme en la buena dirección?


Intenté tu solución (llena de esperanza) pero desafortunadamente no funcionó para mí. Finalmente, logré hacer que funcionara al reinstalar imagemagick sin soporte para openmp (esta es la biblioteca responsable de lgomp)

utilizando Homebrew:

brew install imagemagick --disable-openmp

Entonces rmagick instalado sin ningún problema.


Me encontré con este problema usando Macports pero no hay guías, así que agregaré una aquí:

  1. desinstale ImageMagick: ''sudo port uninstall ImageMagick'' // y cualquier dependiente
  2. descarga Portfile-ImageMagick.diff desde here
  3. Siga la guide (transcrita a continuación): ''cd $ (puerto dir ImageMagick)'' ''parche -p0 <(archivo de parche descargado)''
  4. ''sudo port install ImageMagick + no_openmp''

Para las personas que desean una instalación de origen, puede descargar el repositorio de código fuente y emitir este comando en el directorio de código fuente de imagemagick.

./configure --disable-openmp

Funcionará de manera similar a la versión de preparación anterior, pero con la compilación del código fuente.