🔖

Mac の phpenv で PHP 8.0 インストール(gd のビルドエラーがあり解決)

3 min read

2021.4.26 追記ここから

以下の記事を執筆後、また homebrew 更新後?(<記憶が曖昧)にエラーになりビルドをやり直しました。たつきちさんがブログに書かれている手順にて入れ直すことができました。その手順(--with-external-gd=/usr/local/opt/gd 追加)の方が下記よりも良い方法だったので、そちらで解決できて良かったです。

$ export PHP_BUILD_CONFIGURE_OPTS="--with-external-gd=/usr/local/opt/gd --enable-intl --enable-sockets --enable-exif --with-zlib --with-zlib-dir=/usr/local/opt/zlib --with-bz2 --with-bz2=/usr/local/opt/bzip2 --with-iconv=/usr/local/opt/libiconv --with-kerberos --with-openssl=/usr/local/opt/openssl --enable-soap --enable-xmlreader --with-xsl --enable-ftp --enable-cgi --with-pgsql=/usr/local/opt/postgres --with-libedit=/usr/local/opt/libedit --with-tidy --with-xmlrpc --enable-sysvsem --enable-sysvshm --enable-shmop --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --enable-pcntl --with-readline --enable-mbstring --disable-debug --enable-fpm --enable-bcmath --enable-phpdbg --with-pear --with-pgsql --with-pdo-pgsql --with-sodium"
$ phpenv install --ini development 8.0.2

2021.4.26 追記ここまで


以下は良い解決方法では無かったのですが、作業記録としてそのまま残しておきます。

[2021.2.18]

Mac の anyenv (phpenv) 環境下で PHP 8.0 をインストールしようとしたところ、 gd でビルドエラーになってしまい手間取りました。 homebrew の gd を消してみたところ、無事インストールすることができました。他にもっと良いやり方等あれば知りたいなぁと思っています。

以下、その詳細です。

今回指定していたオプション

CONFIGURE_OPTS="--enable-sockets --enable-exif --with-zlib --with-bz2 --with-bz2=/usr/local/opt/bzip2 --enable-intl --with-iconv=/usr/local/opt/libiconv --with-kerberos --with-openssl=/usr/local/opt/openssl --enable-soap --enable-xmlreader --with-xsl --enable-ftp --enable-cgi --with-pgsql=/usr/local/opt/postgres --with-tidy --enable-sysvsem --enable-sysvshm --enable-shmop --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --enable-pcntl --with-readline --enable-mbstring --disable-debug --enable-fpm --enable-bcmath --enable-phpdbg --with-pgsql --with-pdo-pgsql --with-sodium --enable-gd --with-jpeg"

エラーメッセージ

私の環境(Mac OS X Catalina 10.15) だと、下記のように gd でエラーになりました。

$ phpenv install 8.0.2
(中略)
[Compiling]: /var/tmp/php-build/source/8.0.2
(中略)
/var/tmp/php-build/source/8.0.2/main/php_compat.h:327:25: note: expanded from macro 'gdImageSetPixel'
#define gdImageSetPixel php_gd_gdImageSetPixel
                        ^
/var/tmp/php-build/source/8.0.2/ext/gd/libgd/gd_interpolation.c:2398:3: warning: implicit declaration of function 'php_gd_gdImageSetClip' is invalid in C99 [-Wimplicit-function-declaration]
                gdImageSetClip(src, backup_clipx1, backup_clipy1,
                ^
/var/tmp/php-build/source/8.0.2/main/php_compat.h:326:24: note: expanded from macro 'gdImageSetClip'
#define gdImageSetClip php_gd_gdImageSetClip
                       ^
43 warnings generated.
-----------------------------------------

The full Log is available at '/tmp/php-build.8.0.2.20210218145429.log'.
[Warn]: Aborting build.

対応

下記をした後にリトライしたらインストールができました。

$ brew uninstall php
$ brew uninstall gd

参考リンク

関連リンク

Discussion

ログインするとコメントできます