1

After installing an new version of intl (source: here), I added extension=intl.so to my php.ini file (/etc/opt/remi/php72/php.ini).

But when I restart my Nginx server, I get this warning:

PHP Warning: PHP Startup: Unable to load dynamic library 'intl.so' (tried: /usr
/lib64/php/modules/intl.so (/usr/lib64/php/modules/intl.so: undefined symbol: __
cxa_throw_bad_array_new_length)

I saw in this post, that this is a linking problem, and that I should "link" intl.so against the correct libstdc++.so

(Indeed, I compiled intl.so with gcc7.1 and it says that the present libstdc++.so should be from gcc4.8)

Here is the result of "locate libstdc++":

/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo

Problem: I don't know how to do this linking, and what it means exactly.

Thanks for your help.

learner
  • 13
  • 4

0 Answers0