Mac의 phpenv에서 PHP 8.0 설치 (gd 빌드 오류 해결)

Mac의 phpenv에서 PHP 8.0 설치 (gd 빌드 오류 해결)

2022-10-03 last update

7 minutes reading
2022.7 추가 여기에서
현재는 homebrew로 넣은 PHP를 사용하는 이 방법를 사용하고 있습니다.
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

참고 링크


  • anyenv + phpenv + php-build가 너무 편리합니다.
  • [PHP day.25] phpenv에서 php 8 빌드 on macOS

  • 관련 링크


  • [Mac] phpenv (php-build)에서 PHP 8.0.0을 설치하는 방법 | blog.ttskch