Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:31295 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36073 invoked by uid 1010); 27 Jul 2007 09:46:35 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 36054 invoked from network); 27 Jul 2007 09:46:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Jul 2007 09:46:35 -0000 Authentication-Results: pb1.pair.com header.from=antony@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=antony@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.162 as permitted sender) X-PHP-List-Original-Sender: antony@zend.com X-Host-Fingerprint: 212.25.124.162 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from [212.25.124.162] ([212.25.124.162:29970] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4E/96-13510-8FEB9A64 for ; Fri, 27 Jul 2007 05:46:35 -0400 Received: (qmail 6185 invoked from network); 27 Jul 2007 09:45:39 -0000 Received: from internal.zend.office (HELO ?127.0.0.1?) (10.1.1.1) by internal.zend.office with SMTP; 27 Jul 2007 09:45:39 -0000 Message-ID: <46A9BEC4.5040803@zend.com> Date: Fri, 27 Jul 2007 13:45:40 +0400 User-Agent: Thunderbird 2.0.0.0 (X11/20070326) MIME-Version: 1.0 To: internals@lists.php.net References: <1185527744.6559.6.camel@kleinweby-laptop> In-Reply-To: <1185527744.6559.6.camel@kleinweby-laptop> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] php5 as universal binary (Mac OS X) From: antony@zend.com (Antony Dovgal) Intel Mac is little-endian, PPC Mac is big-endian. Endiannes is detected during configure run, that's why the binary works fine on Intel Mac, but not on PPC. To make it work on both you either need to build separate binaries on PPC and Intel, and then merge them (IIRC that was possible), or you need to patch PHP sources. In my case patching PHP sources was the easiest solution, so I replaced WORDS_BIGENDIAN macro (defined by configure) with __BIG_ENDIAN__ (defined by Mac GCC in compile time). If anyone have any suggestions on how to improve universal binary support so that it would not require patching, I'd gladly listen to them. On 27.07.2007 13:15, Christian Speich wrote: > hello, > > I have asked in the gernal php list and they say I should be ask here: > > I have an problem with php5 as universal binary on Mac OsX. > > The universal binary was build on an intel mac and it works good... on > an intel mac ;) > > When a friend it try on an ppc mac he had some problems. > > For example phpsqliteadmin say this error: > Fatal error: Balloc() allocation exceeds list boundary > in /Applications/xampp/xamppfiles/phpsqliteadmin/SPSQLite.class.php on > line 998 > > And phpmyadmin loads and loads and loads and loads... > > BUT my php4 universal binary works perfect on intel and ppc macs... :/ > > My configure for php5 look like this: > > PREFIX=/Applications/xampp/xamppfiles > SYSCONFDIR=/Applications/xampp/etc > > export LD_RUN_PATH="$PREFIX/lib" > export LD_LIBRARY_PATH="$PREFIX/lib" > export CFLAGS="-I$PREFIX/include -L$PREFIX/lib > -isysroot /Developer/SDKs/MacOSX10.4u.sdk" > export CPPFLAGS="-I$PREFIX/include" > export CXXFLAGS="-I$PREFIX/include -L$PREFIX/lib" > export LDFLAGS="-L$PREFIX/lib -I$PREFIX/include" > export SOFLAGS="-L$PREFIX/lib" > > CFLAGS="$CFLAGS -arch i386 -arch ppc" ./configure --prefix=$PREFIX > --program-suffix=-5.2.3 --libdir=$PREFIX/lib/php/php5 --includedir= > $PREFIX/include/php/php5 --with-apxs2=$PREFIX/bin/apxs > --with-config-file-path=$SYSCONFDIR --with-mysql=$PREFIX --disable-debug > --enable-bcmath --enable-calendar --enable-ctype --enable-dbase > --enable-discard-path --enable-exif --enable-filepro > --enable-force-cgi-redirect --enable-ftp --enable-gd-imgstrttf > --enable-gd-native-ttf --with-ttf --enable-magic-quotes > --enable-memory-limit --enable-safe-mode --enable-shmop > --enable-sigchild --enable-sysvsem --enable-sysvshm --enable-track-vars > --enable-trans-sid --enable-wddx --enable-yp --with-ftp --with-ncurses= > $PREFIX --with-gdbm=$PREFIX --with-jpeg-dir=$PREFIX --with-png-dir= > $PREFIX --with-freetype-dir=$PREFIX --without-xpm --with-zlib=yes > --with-zlib-dir=$PREFIX --with-openssl=$PREFIX --with-expat-dir=$PREFIX > --enable-xslt=$PREFIX --with-xsl=$PREFIX --with-dom=$PREFIX --with-ldap= > $PREFIX --with-gd=$PREFIX --with-mysql-sock=$PREFIX/var/mysql/mysql.sock > --with-mcrypt=$PREFIX --with-mhash=$PREFIX --enable-sockets > --with-curl=$PREFIX --enable-mbregex --enable-zend-multibyte --with-zip= > $PREFIX --enable-exif --with-sqlite --with-libxml-dir=$PREFIX > --enable-soap --enable-pcntl --enable-dbx --with-mysqli= > $PREFIX/bin/mysql_config --with-bz2=$PREFIX --with-pear= > $PREFIX/lib/php/pear --with-mssql=$PREFIX --with-imap-dir=$PREFIX > --with-imap=$PREFIX --enable-mbstring=all --with-pgsql=shared,/usr > --with-gettext=$PREFIX > > I don't think thats this are errors from the php-scripts, I think thats > an problem with php. > > I hope you can help me to resolve this problem > > thanks, > kleinweby > -- Wbr, Antony Dovgal