Bug #63104 [Ana->Opn]: php fail to build with --enable-intl

From: Date: Sun, 06 Mar 2016 06:00:25 +0000
Subject: Bug #63104 [Ana->Opn]: php fail to build with --enable-intl
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-199626@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63104&edit=1

 ID:                 63104
 Updated by:         bjori@php.net
 Reported by:        maduma at pt dot lu
 Summary:            php fail to build with --enable-intl
-Status:             Analyzed
+Status:             Open
 Type:               Bug
 Package:            Compile Failure
 Operating System:   Solaris 11
 PHP Version:        5.4.7
-Assigned To:        bjori
+Assigned To:        
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2012-09-20 12:21:33] johannes@php.net

The actual issue is that we're linking using the C compiler, not the C++ compiler. The later
would pull the correct C++ libs in.

What we have to do is

1) go through all SAPI config.m4's and modify their linker calls to either use CC or CXX
depending on i.e. $php_cxx_done
2) remove PHP_ADD_LIBRARY(stdc++) from AC_DEFUN([PHP_REQUIRE_CXX]
3) make sure none of our bundled libs has issues when linked with C++ standard libs (especially as
they might depend on a lib pulling a different C++ runtime in ...)

Then we're done. But step 3 is rather complicated. Better would be if libintl itself would pull
in the proper C++ runtime but we don't have control over that.

A work-around is to only do step 2 from that list and have the user build the intl extension shared.
In that case we already use the C++ compiler for linking the .so/.dynlib/...

Assigning to Hannes, who added the explicit linkage to libstdc++. Maye he has some thoughts or feels
brave enough to us C++ for linkage ;-)

------------------------------------------------------------------------
[2012-09-19 16:26:23] reeze@php.net

similar to https://bugs.php.net/bug.php?id=48795
but different platform.

------------------------------------------------------------------------
[2012-09-19 08:03:59] laruence@php.net

I can not reproduce it:
$php -m | grep intl
intl

$php -r 'proc_open("ls");'
PHP Warning:  proc_open() expects at least 3 parameters, 1 given in Command line 
code on line 1

------------------------------------------------------------------------
[2012-09-19 07:46:30] maduma at pt dot lu

Still have problems with intl extention. When i compile 5.4 with intl the proc_open() function is
not defined anymore

# --with-intl
/usr/php/5.4/bin/php -r 'proc_open();'
PHP Fatal error:  Call to undefined function proc_open() in Command line code on line 1

# without intl
/usr/php/5.4/bin/php -r 'proc_open();'
PHP Warning:  proc_open() expects at least 3 parameters, 0 given in Command line code on line 1

------------------------------------------------------------------------
[2012-09-18 11:09:26] maduma at pt dot lu

Need also to create libCstd.so and libCrun.so link

ln -s /usr/lib/libCstd.so.1 /usr/lib/libCstd.so
ln -s /usr/lib/libCrun.so.1 /usr/lib/libCrun.so

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=63104


--
Edit this bug report at https://bugs.php.net/bug.php?id=63104&edit=1


Thread (13 messages)

« previous php.bugs (#199626) next »