Bug #77996 [Com]: Build fails with --enable-intl

From: 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

« previous php.bugs (#222568) next »