ID: 48195
Updated by: jani@php.net
Reported By: rickdunn at chez dot com
Status: Assigned
Bug Type: Compile Failure
Operating System: MacOSX 10.5.7
PHP Version: 5.3.0RC2
Assigned To: scottmac
New Comment:
That's just fixing a symptom, not the bug.
Previous Comments:
------------------------------------------------------------------------
[2009-12-15 22:32:37] rickdunn at chez dot com
Apple has a patch for the PHP source iconv.c file that fixes this
problem:
http://www.opensource.apple.com/source/apache_mod_php/apache_mod_php-
53/patches/iconv.patch
------------------------------------------------------------------------
[2009-10-28 11:50:11] jimmycnw at gmail dot com
I made the changes explained above. libphp5.so is successfully
compiled.
However, when I start apache I get this:
httpd: Syntax error on line 490 of /private/etc/apache2/httpd.conf:
Syntax error on line 6 of /private/etc/apache2/other/php5.conf: Cannot
load /usr/libexec/apache2/libphp5.so into server:
dlopen(/usr/libexec/apache2/libphp5.so, 10): Library not loaded:
/usr/local/iconv/lib/libiconv.2.dylib\n Referenced from:
/usr/libexec/apache2/libphp5.so\n Reason: Incompatible library
version:
libphp5.so requires version 8.0.0 or later, but libiconv.2.dylib
provides version 7.0.0
------------------------------------------------------------------------
[2009-08-11 16:46:49] b1667861 at tyldd dot com
Solved for me by referring to this post:
http://jspr.tndy.me/2009/07/php-5-3-iconv-osx-symbols-missing-_libiconv/
My setup:
- OS X 10.5.8 / PHP 5.2.8
- Intel
- mySQL 5.0.51b installed in usr/local
(preparation)
MACOSX_DEPLOYMENT_TARGET=10.5 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
(mhash)
./configure && make && sudo make install
(libmcrypt)
./configure && make && sudo make install
(mcrypt)
touch malloc.h
./configure && make && sudo make install
(libiconv)
./configure && make && sudo make install
(php 5.3.0 configure = PHP 5.2.8 configure string from OS X 10.5.8 +
updated mySQL paths + mCrypt + iConv)
env LIBS="-liconv" ./configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --disable-dependency-tracking
--with-apxs2=/usr/sbin/apxs --with-ldap=/usr --with-kerberos=/usr
--enable-cli --with-zlib-dir=/usr --enable-trans-sid --with-xml
--enable-exif --enable-ftp --enable-mbstring --enable-mbregex
--enable-dbx --enable-sockets --with-iodbc=/usr --with-curl=/usr
--with-config-file-path=/etc --sysconfdir=/private/etc
--with-mysql-sock=/var/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-mysql=/usr/local/mysql --with-openssl --with-xmlrpc
--with-xsl=/usr --without-pear --with-mcrypt=/usr/local/bin/mcrypt
--with-iconv=/usr/local/bin/iconv
(php makefile edit)
from:
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS)
$(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o)
$(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@
libs/libphp$(PHP_MAJOR_VERSION).so
to:
$(CC) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS)
$(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS)
$(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) $(MH_BUNDLE_FLAGS) -o $@ && cp $@
libs/libphp$(PHP_MAJOR_VERSION).so
(php make)
make
sudo make install
(toggle Web Sharing in User Preferences)
(Also add (or uncomment) in [etc/php.ini] to prevent date-functions
errors to be thrown in php 5.3.0)
date.timezone = "America/New_York"
------------------------------------------------------------------------
[2009-07-18 19:20:09] raymond dot plante at gmail dot com
It's obvious the makefile needs to be patched to search configuration
specified library paths first. I hope that there isn't anyone here
seriously trying to suggest 'you should just have 1 version of a library
on your system'.
------------------------------------------------------------------------
[2009-06-15 08:53:00] jani@php.net
I'll check them once I get back home in couple of days or 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
http://bugs.php.net/48195--
Edit this bug report at http://bugs.php.net/?id=48195&edit=1