Bug #48795 [Com]: Building intl 64-bit fails on OS X

From: Date: Thu, 26 Feb 2015 01:17:37 +0000
Subject: Bug #48795 [Com]: Building intl 64-bit fails on OS X
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-190954@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=48795&edit=1

 ID:                 48795
 Comment by:         kurt dot newman at cpanel dot net
 Reported by:        gwynne@php.net
 Summary:            Building intl 64-bit fails on OS X
 Status:             Verified
 Type:               Bug
 Package:            Compile Failure
 Operating System:   OS X 10.5 & 10.6; Linux
 PHP Version:        5.3 SVN; 5.4.0RC1
 Block user comment: N
 Private report:     N

 New Comment:

This problem is cropping up on CentOS 7 x86_64 with PHP 5.3.29.

It looks like the PHP devs resolved this in later versions of PHP by adding PHP_ADD_LIBRARY macros
to acinclude.m4 and aclocal.m4.

The odd thing is, on CentOS 6.5, the resulting sapi/cli/php binary properly links against libstdc++
even though it isn't passing -lstdc++ to the linker.  I'll need to figure out why
that's possible at a later date.

To resolve this specific issue, I did the following.

1. Patch acinclude.m4 and aclocal.m4
2. re-run ./buildconf

This regenerates the configure script and ensures that the -lstdc++ is used to properly link
sapi/cli/php.  However, it also ensures scripts/php-config is updated with the -lstdc++ library as
well.  This update ensures all extensions that that are compiled against your PHP version also link
against stdc++.

The patch:

commit 9fc87ffe4384306abb4454ced58b02a79114038e
Author: S. Kurt Newman <kurt.newman@cpanel.net>
Date:   Wed Feb 25 17:45:36 2015 -0600

    add stdc++ to acinclude and aclocal for php 5.3.29

diff --git a/acinclude.m4 b/acinclude.m4
index 2681b79..6ad028e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -762,6 +762,7 @@ AC_DEFUN([PHP_REQUIRE_CXX],[
   if test -z "$php_cxx_done"; then
     AC_PROG_CXX
     AC_PROG_CXXCPP
+    PHP_ADD_LIBRARY(stdc++)
     php_cxx_done=yes
   fi
 ])
diff --git a/aclocal.m4 b/aclocal.m4
index 07b5e61..f3770e2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -762,6 +762,7 @@ AC_DEFUN([PHP_REQUIRE_CXX],[
   if test -z "$php_cxx_done"; then
     AC_PROG_CXX
     AC_PROG_CXXCPP
+    PHP_ADD_LIBRARY(stdc++)
     php_cxx_done=yes
   fi
 ])


Previous Comments:
------------------------------------------------------------------------
[2013-06-11 14:10:23] cweiske@php.net

Still happens on 5.3.26. cornelius dot howl at gmail dot com's commands do not help here.

------------------------------------------------------------------------
[2013-03-09 10:14:47] cornelius dot howl at gmail dot com

For this issue, here is the patch in phpbrew 

https://github.com/c9s/phpbrew/commit/18ef766d0e013ee87ac7d86e338ebec89fbeb445

------------------------------------------------------------------------
[2013-03-09 10:12:31] cornelius dot howl at gmail dot com

Quick fix for this 5.3.28 should work


edit Makefile and found the rule of

ext/intl/msgformat/msgformat_helpers.cpp

change the $(CC) to $(CXX)

then run:

sed -i '/EXTRA_LIBS = /s|$| -lstdc++|' Makefile

------------------------------------------------------------------------
[2013-03-08 16:27:05] saltwaterc at gmail dot com

sed -i '/EXTRA_LIBS = /s|$| -lstdc++|' Makefile

One liner fix for those who still do (scripted) builds on 5.3.x.
5.3.22 still fails on Ubuntu 12.04.

------------------------------------------------------------------------
[2012-10-26 02:59:59] pgarvin76 at gmail dot com

This is still and issue on 5.3.18, but 5.4.8 built without error. Interestingly if you build intl as
shared you don't get the compile error (how I am currently getting around issue). I am on
Ubuntu 12.04.

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


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=48795


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


Thread (27 messages)

« previous php.bugs (#190954) next »