Bug #77996 [Com]: Build fails with --enable-intl
| From: | chris at cretaforce dot gr | Date: | Thu, 05 Sep 2019 11:55:41 +0000 |
| Subject: | Bug #77996 [Com]: Build fails with --enable-intl | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-222568@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77996&edit=1
ID: 77996
Comment by: chris at cretaforce dot gr
Reported by: daniel at imhimmel dot net
Summary: Build fails with --enable-intl
Status: Open
Type: Bug
Package: *Compile Issues
Operating System: macOS Mojave (10.14.4)
PHP Version: 7.3.5
Block user comment: N
Private report: N
New Comment:
I forgot to write that I use FreeBSD.
Previous Comments:
------------------------------------------------------------------------
[2019-09-05 11:53:45] chris at cretaforce dot gr
I try to create a static PHP 7.1 binary with intl support:
./configure --prefix=/home/username --enable-static --enable-cli --disable-cgi --enable-mysqlnd
--with-mysql --with-mysqli --with-curl --with-zlib --enable-mbstring --enable-calendar --with-gd
--with-bz2 --enable-sockets --enable-ftp --with-gettext --with-xmlrpc --with-xsl --with-pdo-mysql
--enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-mcrypt --enable-soap
--with-openssl
./configure --prefix=/home/www/cretaftp/php --enable-static --enable-cli --disable-cgi
--enable-mysqlnd --with-mysqli --with-curl --with-zlib --enable-mbstring --enable-calendar --with-gd
--with-bz2 --enable-sockets --enable-ftp --with-gettext --with-xmlrpc --with-xsl --with-pdo-mysql
--enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-mcrypt --enable-soap
--with-openssl --enable-intl --with-layout=GNU
But when I run:
make
I get this:
ld: error: undefined symbol: std::__throw_length_error(char const*)
>>> referenced by stl_vector.h:1756
>>> (/usr/local/lib/gcc9/include/c++/bits/stl_vector.h:1756)
>>> ext/intl/msgformat/.libs/msgformat_helpers.o:(std::vector<icu::Formattable,
>>> std::allocator<icu::Formattable> >::_M_default_append(unsigned long))
ld: error: undefined symbol: std::__throw_length_error(char const*)
>>> referenced by stl_vector.h:1756
>>> (/usr/local/lib/gcc9/include/c++/bits/stl_vector.h:1756)
>>> ext/intl/msgformat/.libs/msgformat_helpers.o:(std::vector<icu::UnicodeString,
>>> std::allocator<icu::UnicodeString> >::_M_default_append(unsigned long))
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1
Stop.
If I remove --enable-intl from the ./configure command the issue doesn't exist.
------------------------------------------------------------------------
[2019-05-20 12:14:46] tmlmvp at gmail dot com
Hi, I had the same problem when i
build and make php(7.3.5) with zts. And my macOS
version is 10.12.6.
clang: warning: argument unused during compilation: '-pthread'
[-Wunused-command-line-argument]
Undefined symbols for architecture x86_64:
"thread-local wrapper routine for _tsrm_ls_cache", referenced from:
_zim_IntlDateFormatter___construct in dateformat_create.o
_timezone_convert_to_datetimezone in timezone_class.o
_zif_intlcal_from_date_time in calendar_methods.o
_zif_intlcal_to_date_time in calendar_methods.o
_php_intlgregcal_constructor_body(_zend_execute_data*, _zval_struct*, unsigned char) in
gregoriancalendar_methods.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sapi/cli/php] Error 1
------------------------------------------------------------------------
[2019-05-09 09:47:50] daniel at imhimmel dot net
Description:
------------
Linking libphp7.so fails with the following error:
Undefined symbols for architecture x86_64:
"thread-local wrapper routine for _tsrm_ls_cache", referenced from:
_zim_IntlDateFormatter___construct in dateformat_create.o
_timezone_convert_to_datetimezone in timezone_class.o
_zif_intlcal_from_date_time in calendar_methods.o
_zif_intlcal_to_date_time in calendar_methods.o
_php_intlgregcal_constructor_body(_zend_execute_data*, _zval_struct*, unsigned char) in
gregoriancalendar_methods.o
As a workaround one may build php without intl extension (--disable-intl) and build intl as a
separate extension, although I'm not sure if it might fail on some condition.
For now my tests using datefmt_create and IntlDateFormatter did work just fine.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77996&edit=1