Cuando trato de ejecutar el siguiente comando
pecl install imagickEntonces la instalación termina con:
imagemagick/7.0.11-9/lib -L/usr/local/Cellar/imagemagick/7.0.11-9/lib -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI cc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/imagick.so -bundle .libs/imagick_file.o .libs/imagick_class.o .libs/imagickdraw_class.o .libs/imagickpixel_class.o .libs/imagickpixeliterator_class.o .libs/imagick_helpers.o .libs/imagick.o .libs/imagickkernel_class.o .libs/shim_im6_to_im7.o -lgomp -L/usr/local/Cellar/imagemagick/7.0.11-9/lib /usr/local/Cellar/imagemagick/7.0.11-9/lib/libMagickWand-7.Q16HDRI.dylib -L/usr/local/Cellar/little-cms2/2.12/lib -L/usr/local/opt/freetype/lib -L/usr/local/Cellar/glib/2.68.1/lib -L/usr/local/opt/gettext/lib /usr/local/Cellar/imagemagick/7.0.11-9/lib/libMagickCore-7.Q16HDRI.dylib -Wl,-rpath -Wl,/usr/local/Cellar/imagemagick/7.0.11-9/lib ld: library not found for -lgomp clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [imagick.la] Error 1 ERROR: `make' failedLa razón parece ser que la compilación de la última versión de imagick (3.5.0) tiene cambios que requieren esta librería. Es imposible instalar una versión inferior porque no son compatibles con PHP 8.0.
¿Alguna idea de cómo deshacerse de este error en macos?
A partir del 22 de julio de 2021, la versión 3.5.1 es estable en el canal pecl y se puede usar para compilar imagick para PHP 7 y PHP 8.
pecl install imagickEl comando general ya no fallará
Actualmente, la versión 3.5 no se puede compilar en MAC debido a la compatibilidad faltante o rota para gomp del compilador MAC gcc .
La mejor solución es instalar la versión 3.4.4
pecl install imagick-3.4.4Más información aquí
Hay una solución para este problema instalando manualmente la extensión. El único problema con él es que no aparece en las extensiones instaladas de pecl después de que se realiza la instalación y no se puede desinstalar de pecl. No obstante, estoy proporcionando la respuesta que encontré aquí:
Ejecute los siguientes comandos
cd path/to/installation/is/going/to/be/made pecl bundle imagick cd imagick mv config.m4 config.m4.bak wget https://raw.githubusercontent.com/yyongpil/imagick/2a2b924b9d25c8ef4a677b72e6868fbc7c9e01cc/config.m4Para explicar el proceso anterior línea de comando por línea de comando:
config.m4 original por motivos de seguridadconfig.m4 modificado para solucionar el problema de gomp como se explica aquíY por último simplemente continuar con el proceso de instalación manual
phpize ./configuration make sudo make install Después de esto, debería estar listo para usar la última extensión imagick para PHP. Para PHP 8.0 e imagick 3.5.0 , el archivo so se encuentra en /usr/local/lib/php/pecl/20200930/imagick.so
¡Se ha etiquetado una nueva versión y contiene la configuración de compilación corregida! Puedes instalarlo con este comando:
pecl install imagick-3.5.1(sin la versión ahora debería funcionar)