"Cecil build" requires intl support

✅ This is a quick post to just address a single issue.

If when doing cecil build you get the following error:

[ERROR] The Symfony\Component\Intl\Locale\Locale::setDefault() is not implemented. Please install the "intl" extension for full localization capabilities.

You're missing a PHP extension that Cecil needs.

Solution

To resolve this problem you need the "intl" PHP module, which on an Ubuntu based system you can install with sudo apt install php-intl.  Note that in my setup I have an Ubuntu PPA added that gives me access to newer versions of PHP.

This will show in your terminal like this:

jonathan@laptop:~$ sudo apt install php-intl
[sudo] password for jonathan:             
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  php8.1-intl
The following NEW packages will be installed
  php-intl php8.1-intl
0 to upgrade, 2 to newly install, 0 to remove and 1 not to upgrade.
Need to get 131 kB of archives.
After this operation, 510 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 php8.1-intl amd64 8.1.9-1+ubuntu18.04.1+deb.sury.org+1 [123 kB]
Get:2 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 php-intl all 2:8.1+92+ubuntu18.04.1+deb.sury.org+2 [7,292 B]
Fetched 131 kB in 0s (912 kB/s)     
Selecting previously unselected package php8.1-intl.
(Reading database ... 238476 files and directories currently installed.)
Preparing to unpack .../php8.1-intl_8.1.9-1+ubuntu18.04.1+deb.sury.org+1_amd64.deb ...
Unpacking php8.1-intl (8.1.9-1+ubuntu18.04.1+deb.sury.org+1) ...
Selecting previously unselected package php-intl.
Preparing to unpack .../php-intl_2%3a8.1+92+ubuntu18.04.1+deb.sury.org+2_all.deb ...
Unpacking php-intl (2:8.1+92+ubuntu18.04.1+deb.sury.org+2) ...
Setting up php8.1-intl (8.1.9-1+ubuntu18.04.1+deb.sury.org+1) ...

Creating config file /etc/php/8.1/mods-available/intl.ini with new version
Setting up php-intl (2:8.1+92+ubuntu18.04.1+deb.sury.org+2) ...
Processing triggers for php8.1-fpm (8.1.9-1+ubuntu18.04.1+deb.sury.org+1) ...
Processing triggers for php8.1-cli (8.1.9-1+ubuntu18.04.1+deb.sury.org+1) ...

You may then need to enable the module via phpenmod intl.