Author Topic: CWP internal PHP 7.1: intl extension fails after recent updates - missing libicu  (Read 78 times)

0 Members and 1 Guest are viewing this topic.

Offline
**
Hello,

I have two different CWP8 servers on AlmaLinux 8.

Since June 24/25, both servers started showing the same warning in cron.daily/cwp and cwp_bandwidth:

PHP Warning: PHP Startup: Unable to load dynamic library 'intl'
libicui18n.so.50: cannot open shared object file: No such file or directory

This is not related to the PHP version used by websites. The warning comes from CWP internal PHP:

/usr/local/cwp/php71/bin/php

Checks on both servers:

/usr/local/cwp/php71/bin/php -m

shows the warning.

ldd /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/intl.so | grep "not found"

returns:

libicui18n.so.50 => not found
libicuuc.so.50 => not found
libicudata.so.50 => not found
libicuio.so.50 => not found

Installed ICU libraries are only version 60 and 69:

libicu-60.3-2.el8_1.x86_64
libicu-devel-60.3-2.el8_1.x86_64
libicu69-69.1-4.el7.remi.x86_64

There are no libicu .so.50 files in /usr/lib64.

The latest dnf updates around that date were mainly kernel packages, so I am not sure if this was caused by a CWP update or by an internal PHP/intl dependency issue.

Is this a known issue with CWP internal PHP 7.1?
What is the recommended fix?

I prefer not to create manual symlinks from ICU 50 to ICU 60/69 because that may break ABI compatibility.

Thanks.


Offline
**
Thank you for the KB article.

I can confirm that on AlmaLinux 8 the issue was slightly different, but your article pointed me in the right direction.

In my case, intl.so was present, but it was missing the ICU 50 libraries (libicui18n.so.50, libicuuc.so.50, etc.).

Installing the official EPEL compatibility package solved the problem on two different CWP8 servers:

dnf install -y libicu50

After that:

/usr/local/cwp/php71/bin/php -m | grep intl

returns:

intl

and:
ldd /usr/local/cwp/php71/lib/php/extensions/no-debug-non-zts-20170718/intl.so | grep "not found"

returns no missing libraries.

So, for anyone running AlmaLinux 8 with this specific ICU 50 dependency issue, installing libicu50 from EPEL resolves the warnings.

Thanks again for taking the time to publish the KB article.

Offline
*
@Starburst, @Wonder

Thanks for taking the time to share the fruits of your labor. Much appreciated!

This worked for me on AlmaLinux 8.