PHP 8 的 PHP 扩展 imagick 3.5.0:在 Macos 上安装失败

Nek*_*Nek 3 php macos imagick

当我尝试运行以下命令时

pecl install imagick
Run Code Online (Sandbox Code Playgroud)

然后安装结束:

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' failed
Run Code Online (Sandbox Code Playgroud)

原因似乎是 imagick 的最后一个版本(3.5.0)的编译有需要这个库的更改。无法安装较低版本,因为它们与 PHP 8.0 不兼容。

知道如何在 macOS 上消除此错误吗?

And*_*ato 7

2021 年 7 月 22 日更新

截至 2021 年 7 月 22 日,版本 3.5.1 在pecl通道中稳定,可用于为 PHP 7 和 PHP 8 编译 imagick。

pecl install imagick
Run Code Online (Sandbox Code Playgroud)

一般命令不会再失败了

旧答案

gomp由于对 MAC编译器的支持缺失/损坏,3.5 版目前无法在 MAC 上编译gcc

最好的解决办法是安装版本 3.4.4

pecl install imagick-3.4.4
Run Code Online (Sandbox Code Playgroud)

更多信息请点击此处