In file (/var/tmp/portage/{,mod_}php-4.3.10/work)/php-4.3.10/Zend/zend_strtod.c line 232/233, text here is a comment, and there should be some instructions here (as there is none between #ifdef and #endif...) Reproducible: Always Steps to Reproduce: 1.emerge sync (if needed) 2.emerge ={,mod_}php-4.3.10, or emerge -Du world 3.wait and see Actual Results: emerge failure on compilation error because of lines 232/233 that are uncommented Expected Results: Compile and install ?.. #emerge info :(Just for the fun, it's not the matter here !) #on athlon: Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r0, 2.6.11-gentoo-r2 i686) ================================================================= System uname: 2.6.11-gentoo-r2 i686 AMD Athlon(tm) Processor Gentoo Base System version 1.6.10 Python: dev-lang/python-2.3.5,dev-lang/python-2.2.3-r5 [2.3.5 (#1, Feb 22 2005, 00:34:10)]distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5, 2.2.3-r5 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.6.3, 1.9.5, 1.4_p6, 1.5, 1.7.9-r1 sys-devel/binutils: 2.15.92.0.2-r6 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.4.22-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon -O3 -pipe -fforce-addr -ffast-math -funroll-loops -falign-functions=4" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon -O3 -pipe -fforce-addr -ffast-math -funroll-loops -falign-functions=4" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.inode.at http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.fr.gentoo.org/gentoo-portage" USE="x86 X aalib alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt curl dba directfb doc dvd emboss encode esd fam font-server fortran gd gdbm ggi gif gnome gpm gstreamer gtk gtk2 guile imlib ipv6 java jpeg kde kerberos krb4 ldap libg++ libwww mad mikmod motif mozilla mp3 mpeg mysql nas ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts unicode usb videos wmf wxwindows xinerama xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS #on Itanium: Portage 2.0.51.19 (default-linux/ia64/2004.3, gcc-3.3.2, glibc-2.3.2-r1,glibc-2.3.2-r3,glibc-2.3.4.20041102-r0,glibc-2.3.2-r11,glibc-2.3.2-r9,glibc-2.3.2-r12, 2.6.8-gentoo-r3 ia64) ================================================================= System uname: 2.6.8-gentoo-r3 ia64 Gentoo Base System version 1.4.16 Python: dev-lang/python-2.2.3-r1,dev-lang/python-2.3.4-r1,dev-lang/python-2.3.4,dev-lang/python-2.2.3-r5,dev-lang/python-2.3.3 [2.3.4 (#1, Mar 8 2005, 17:25:32)] dev-lang/python: 2.2.3-r1, 2.3.4-r1, 2.3.4, 2.2.3-r5, 2.3.3 sys-devel/autoconf: 2.57-r1, 2.58, 2.58-r1, 2.59-r4, 2.59-r5, 2.13, 2.59-r6 sys-devel/automake: 1.7.5-r2, 1.7.8, 1.8.3, 1.8.5-r1, 1.5, 1.8.5-r3, 1.6.3, 1.7.9-r1, 1.4_p6, 1.9.4 sys-devel/binutils: 2.14.90.0.2, 2.14.90.0.6-r3, 2.14.90.0.6-r6, 2.14.90.0.7-r4, 2.14.90.0.8-r1 sys-devel/libtool: 1.4.3-r1, 1.4.3-r4, 1.5.2-r5, 1.5.2-r7, 1.5.10-r4 virtual/os-headers: 2.4.19, 2.4.19-r1, 2.4.23 ACCEPT_KEYWORDS="ia64" AUTOCLEAN="no" CFLAGS="-O2 -pipe" CHOST="ia64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="aalib acpi alsa apache2 berkdb bitmap-fonts crypt cups curl dba doc dvd encode fam font-server fortran gd gdbm gif ia64 imap imlib jpeg ldap libg++ libwww maildir mikmod mpi mysql ncurses nls oggvorbis oss pam pam-mysql pdflib perl png python readline samba sasl snmp spell ssl tcpd tiff truetype truetype-fonts type1-fonts usb vhosts xml2 zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS Commenting out the 2 lines after unpacking the archive is sufficient to obtain a succesfull install on both my ~x86 and ia64 machines, meanwhile I'm afraid there should be some defines here...
lines 232/233 are a purposeful error. #if defined(IEEE_LITTLE_ENDIAN) + defined(IEEE_BIG_ENDIAN) + defined(VAX) + \ defined(IBM) != 1 Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX, or IBM should be defined. #endif If your machine is falling into that, something is REALLY broken with your headers.
Arf, your answer frightens me :Brr: But if I know I have problems on my Itanium server (and particularily system headers... :( ), I don't understand how I could have VAX and both IEEE_LITTLE_ENDIAN && IEEE_BIG_ENDIAN defined for my ~x86 desktop machine (where the same problem happened too at compile time...). Bah, lets' wait ans see!.. THX
For trying to figure out your machine's problem, I'd suggest the following approach: CFLAGS="-save-temps -O2 -pipe -ggdb3" emerge php then when it fails, go and find the pre-processed source for zend_strtod.c, and attach it here. It will show the source of the definitions for VAX/IBM/IEEE_LITTLE_ENDIAN/IEEE_BIG_ENDIAN.
WOW looks quite complicated !.. Tried to do as U said: CFLAGS="-save-temps -O2 -pipe -ggdb3" emerge mod_php ...and did not find really where to look for... Had a look at /var/tmp/portage/mod_php-4.3.10/work/php-4.3.10/ content. All I could see in send_strtod.i is that the offending "Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX, or IBM should be defined." is present. Then I too think my problem stands in /usr/include tree rather than php sources ! If the content of the files can be helpful, I put an archive of the offending dir on my home web server : http://neuftroua.dyndns.org/guillaume/mod_php-4.3.10-fail.tar.bz2 as well as the "strtod.*" files http://neuftroua.dyndns.org/guillaume/zend_strtod.i http://neuftroua.dyndns.org/guillaume/zend_strtod.h http://neuftroua.dyndns.org/guillaume/zend_strtod.c I think I'll try to install mod_php5 !..
this has nothing to do with ia64's system headers and everything to do with php being stupid i added a patch to fix this in 5.x a while ago, feel free to back port it ... $FILESDIR/${PN}-5.0.3-missing-arches.patch and the upside, >php-5.0.3 recoded the checks to not suck, so php-5.0.4 shouldnt require the patch
The path has been merged from the HEAD (next release: PHP 5.1.0) and PHP_5_0 (next release: PHP 5.0.4) branches to the PHP_4_3 (next release: PHP 4.3.11) branch. PHP 4.3.11, which will be released soon, will have this patch.
Thanks for your answers guys :) Links in #4 are down, in fact server (web & mail) is down for the moment :( Feel free to remove them...
Fixed in PHP 4.3.11.