ICU58.3をCentOS6にソースインストール

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

目的

PHP7.4をCentOS6にインストールしようとしたところ configure で次のエラーが発生しました。

checking for icu-uc >= 50.1 icu-io icu-i18n... no
configure: error: Package requirements (icu-uc >= 50.1 icu-io icu-i18n) were not met:

No package 'icu-uc' found
No package 'icu-io' found
No package 'icu-i18n' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

CentOS6ではソースからインストールしていきます。

特徴

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

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

環境

実施日2020-8-25
サーバさくらのVPS 2G
OSCentOS 6.10
cat /etc/redhat-release
CentOS release 6.10 (Final)
rpm -qa | grep centos-release
centos-release-scl-7-4.el6.centos.noarch
centos-release-6-10.el6.centos.12.3.x86_64
centos-release-scl-rh-2-4.el6.centos.noarch

事前準備

最新版ではconfigureエラー

2020年8月25日時点での最新は67.1です。
なのでICU67.1をインストールしようとしていたのですが次のようなエラーが出てきました。

configure: WARNING: wchar.h: present but cannot be compiled
configure: WARNING: wchar.h:     check for missing prerequisite headers?
configure: WARNING: wchar.h: see the Autoconf documentation
configure: WARNING: wchar.h:     section "Present But Cannot Be Compiled"
configure: WARNING: wchar.h: proceeding with the compiler's result
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to http://icu-project.org/bugs ##
configure: WARNING:     ## ------------------------------------------ ##
checking for wchar.h... no
checking size of wchar_t... 0
configure: error: There is wchar.h but the size of wchar_t is 0

いろいろと調査していたのですが、他の予定も詰まっていてタイムアップ。
バージョンを下げることで対応することにしました。

前述のとおり、PHP7.4で必要なのは50.1以上。

新しい順に試していくと、ICU61.2 でやっとconfigureが通りました。
configureは通りましたが・・・makeでエラー。
なぜ?

しょうがないのでバージョンを下げながら試していきます。

ICU58.3で make まで通りました。

ということで、今回はICU58.3で進めることにします。

ダウンロードURLの確認

Githubから入手します。

https://github.com/unicode-org/icu/tags

2020-08-25時点では「release-67-1」が最新のようですが、上述の通りICU58.3をインストールしていきます。

https://github.com/unicode-org/icu/releases/tag/release-58-3

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

URLを控えておきます。

https://github.com/unicode-org/icu/archive/release-58-3.tar.gz

インストール

ls -la /usr/local/src
ls -la /usr/local/lib

mkdir /usr/local/src/icu4c-58.3

cd /usr/local/src/icu4c-58.3

wget https://github.com/unicode-org/icu/archive/release-58-3.tar.gz

tar xvzf release-58-3.tar.gz

cd icu-release-58-3
cd icu4c/source

./configure \
--prefix=/usr/local/lib/icu4c-58.3 \
--enable-release \
--enable-icu-config \
--enable-shared \
--enable-extras \
--enable-icuio

make
make install