Mac で PHP pecl を介して Imagick 3.5 をインストールするときの「ld: library not found for -lgomp」を修正
2226 ワード
2021 年 7 月 25 日更新
2021 年 7 月 22 日現在、バージョン 3.5.1 は
pecl
チャネルで安定しており、PHP 7 と PHP 8 の両方で imagick
をコンパイルするために使用できます.pecl install imagick
一般的なコマンドはもう失敗しません
TL;DR
pecl
経由で Imagick の古いバージョン (3.4.4) を強制的にインストールします.pecl install imagick-3.4.4
はじめに
Imagemagick の PHP 拡張機能の最新バージョン (3.5) ( Imagick ) では、Apple システムでコンパイル エラーが発生します.これは、PHP バージョン (7.4 および 8 でテスト済み) および Imagemagick バージョン (6.x および 7.x でテスト済み) とは無関係です. ) 代わりに、gcc コンパイラの gomp の欠落/壊れたサポートに関連しています.
Intel マシンでテストしたので、これは Apple Silicon とは関係ありません.
エラー
実行後、コンパイル中にエラーがスローされます
pecl install imagick
完全なエラーは
ld: library not found for -lgomp
潜在的な修正
Gomp によるコンパイル エラーについて話しているスタック オーバーフロー スレッドがいくつかあります.私が見つけた最も包括的な is this .
回答で提案された修正のいくつかを試しましたが、ほとんどの場合、異なるバージョンの gcc をコンパイルする必要があり、自作によるその後の更新が不安定になります.
また、
llvm
を示唆するスタック オーバーフローでこの他の amazing thread を試し、コンパイラ フラグを修正しましたが、おそらく pecl コンパイル プロセスの組み込みパラメータが原因で、この特定のケースでは機能しませんでした.実際の修正
最終的な修正は、Imagick のバージョンを 4.3.3 にダウングレードすることでした.これにより、完全にコンパイルされます.
これは、github から downloading the release を実行するか、次のように pecl でバージョンを強制するだけで実行できます.
pecl install imagick-3.4.4
Reference
この問題について(Mac で PHP pecl を介して Imagick 3.5 をインストールするときの「ld: library not found for -lgomp」を修正), 我々は、より多くの情報をここで見つけました https://dev.to/andreaolivato/fix-ld-library-not-found-for-lgomp-when-installing-imagick-3-5-via-php-pecl-on-mac-488nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol