Php – Compile PHP 5.3.2 with intl extension on Snow Leopard 10.6.3

mac-osxPHP

Does anyone have some tips on compiling PHP's intl extension on OS X 10.6.3?

I'm getting compile errors each way I try it and I've been googling for ages and getting nowhere. Any help greatly appreciated.

When make gets to the huge gcc command to compile libphp5.bundle, I get the following error:

Undefined symbols:
  "___gxx_personality_v0", referenced from:
      icu_4_2::MessageFormatAdapter::getArgTypeList(icu_4_2::MessageFormat const&, int&)in msgformat_helpers.o
      _umsg_parse_helper in msgformat_helpers.o
      _umsg_format_arg_count in msgformat_helpers.o
      _umsg_format_helper in msgformat_helpers.o
      CIE in msgformat_helpers.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1

My compile commands are:

MACOSX_DEPLOYMENT_TARGET=10.6
CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp"
CCFLAGS="-arch x86_64 -g -Os -pipe"
CXXFLAGS="-arch x86_64 -g -Os -pipe"
LDFLAGS="-arch x86_64 -bind_at_load"
export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET
./configure --prefix=/usr \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/private/etc \
--with-apxs2=/usr/sbin/apxs \
--enable-cli \
--with-config-file-path=/etc \
--with-libxml-dir=/usr \
--with-openssl=/usr \
--with-zlib=/usr \
--with-bz2=/usr \
--with-curl=/usr \
--with-gd \
--with-jpeg-dir=/src/jpeg/jpeg-local \
--with-png-dir=/usr/X11R6 \
--with-freetype-dir=/usr/X11R6 \
--with-xpm-dir=/usr/X11R6 \
--with-ldap=/usr \
--with-ldap-sasl=/usr \
--enable-mbstring \
--enable-mbregex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/mysql/mysql.sock \
--with-iodbc=/usr \
--enable-shmop \
--with-snmp=/usr \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-xmlrpc \
--with-iconv-dir=/usr \
--with-xsl=/usr \
--with-pcre-regex=/src/pcre/pcre-local/usr/local \
--with-pcre-dir=/src/pcre/pcre-local/usr/local \
--with-icu-dir=/usr/local \
--enable-intl

export EXTRA_CFLAGS="-lresolv"
make

Best Answer

Simple google search turned up this page. Pay close attention to the very bottom post:

 [2010-02-10 12:05 UTC] surfchen at gmail dot com
It is a linking problem, here is the simple workaround:
edit Makefile and add -lstdc++ into EXTRA_LIBS.