LibGD2.3.2をソースインストール / Rocky Linux9.4 on さくらのVPS

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

覚書です。
ところどころ省いています。
実践環境で使う場合はご注意ください。

目的

PHP8.0.30をRocky Linux9.4にインストールしようとしたところ make で次のエラーが発生しました。

make: *** [Makefile:851: ext/gd/gd.lo] エラー 1

先にPHP8.3.7 1をインストールしていたのですが、LibGDが新しすぎても良くないようです。

ということでLibGD 2.3.2 をインストールすることにします。

ちなみにテストサーバ用途の複数バージョン同居環境の場合、下手にdnfするよりソースからバージョン指定でインストールしておいたほうが将来的にメリットがあります。

特徴

  • ソースコードからのインストール
  • 複数バージョンの共存

特定バージョンでの開発や動作確認など開発環境での用途を目的としています。

環境

実施日2024-05-17
サーバさくらのVPS 2G
OSRocky Linux9.4
cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)

事前準備

ダウンロードURLの確認

Githubから入手します。

https://github.com/libgd/libgd/tags

2024-05-16時点では「2.3.3」が最新のようですが、ここでは2.3.2をインストールしていきます。

https://github.com/libgd/libgd/releases/tag/gd-2.3.2

こちらのページの一番下「Source code (tar.gz)」がお目当てです。

URLを控えておきます。

https://github.com/libgd/libgd/archive/refs/tags/gd-2.3.2.tar.gz

インストール

LIBGD_VERSION=2.3.2
ls -la /usr/local/src
ls -la /usr/local/lib

mkdir /usr/local/src/gd-$LIBGD_VERSION

cd /usr/local/src/gd-$LIBGD_VERSION

wget https://github.com/libgd/libgd/releases/download/gd-$LIBGD_VERSION/libgd-$LIBGD_VERSION.tar.gz

tar xvzf libgd-$LIBGD_VERSION.tar.gz

cd libgd-$LIBGD_VERSION

./configure --prefix=/usr/local/lib/libgd-$LIBGD_VERSION

configure の最後のほうに▼の表示が出てきます。
※今回は先に LibGD 2.3.3 をインストールしていたので次のようになっていますが、初めての場合はほとんどが no になります。

** Configuration summary for libgd 2.3.2:

   Support for gd/gd2 images:        yes
   Support for Zlib:                 yes
   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for WebP library:         yes
   Support for HEIF library:         no
   Support for AVIF library:         no
   Support for TIFF library:         no
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   no
   Support for Xpm library:          yes
   Support for liq library:          no
   Support for complex text:         no
   Support for pthreads:             yes

「no」が付いてるところはサポートされないので、このままでは PNG も使えないことになります。
PHPのGDにはPNGサポートは必須です。
他にも、WebPとかも欲しいところです。

# 必要なものだけでOK
dnf install libjpeg-devel
dnf install libpng-devel
dnf install libwebp-devel
dnf install libXpm-devel
dnf install freetype-devel

# 追加したのでもう一度
./configure --prefix=/usr/local/lib/libgd-$LIBGD_VERSION

次のようになりました。

** Configuration summary for libgd 2.3.2:

   Support for gd/gd2 images:        yes
   Support for Zlib:                 yes
   Support for PNG library:          yes
   Support for JPEG library:         yes
   Support for WebP library:         yes
   Support for HEIF library:         no
   Support for AVIF library:         no
   Support for TIFF library:         no
   Support for Freetype 2.x library: yes
   Support for Fontconfig library:   no
   Support for Xpm library:          yes
   Support for liq library:          no
   Support for complex text:         no
   Support for pthreads:             yes
make
make install

PHPのconfigureの前に

PHPのconfigureエラーで次のように出ていると思いますが、ここに書かれているとおり PKG_CONFIG_PATH の設定が必要です。

下記を実行してから、PHPのconfigureを再開します。

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/libgd-2.3.2/lib/pkgconfig"