#31121 [Asn->Fbk]: Compilation fails on zend_strtod.c

From: Date: Tue, 21 Dec 2004 04:53:56 +0000
Subject: #31121 [Asn->Fbk]: Compilation fails on zend_strtod.c
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-70771@lists.php.net to get a copy of this message
 ID:               31121
 Updated by:       sniper@php.net
 Reported By:      strube at physik3 dot gwdg dot de
-Status:           Assigned
+Status:           Feedback
 Bug Type:         Compile Failure
 Operating System: Solaris 7 SPARC
 PHP Version:      4.3.10
 Assigned To:      derick
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip




Previous Comments:
------------------------------------------------------------------------

[2004-12-17 14:18:07] strube at physik3 dot gwdg dot de

I now tested compilation of zend_strtod.c from snapshot
php4-STABLE-200412171130. It works on Solaris 7 SPARC with gcc. It does
not work with Sun Workshop/Forte/SunONE cc, since the architecture
macros are gcc specific. It also does not work on Solaris 9_x86, even
with gcc; although gcc compiles without error, IEEE_BIG_ENDIAN is
erroneously assigned (because the test #if BYTE_ORDER == BIG_ENDIAN
does not make sense in Solaris). All this could have been deduced from
my previous comments.

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

[2004-12-17 13:00:29] derick@php.net

We had some problems with our snapshots, the next one (9:30 GMT) should
have the updated files. If you can try those, please do so.

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

[2004-12-17 09:46:09] strube at physik3 dot gwdg dot de

I just found that main/php_config.h already contains the
big/little-endian information in WORDS_BIGENDIAN. Why don't you simply
include this and test this macro?

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

[2004-12-17 09:37:59] strube at physik3 dot gwdg dot de

I tried php4-STABLE-latest.tar.gz, i.e. php4-STABLE-200412170730. The
zend_strtod.c therein is identical to that of the official 4.3.10
release. Also the configure script is unchanged (apart of the
EXTRA_VERSION). Thus this does not fix anything.
As a general remark, architecture macros like __sparc__ and __i386__
are gcc specific. Suns Workshop/Forte/SunONE compilers define __sparc
and __i386, respectively, for the architecture. (Likewise, the SGI IRIX
compilers do not define __mips__). Also Solaris does not define
BYTE_ORDER and BIG_ENDIAN (or LITTLE_ENDIAN)in sys/types.h (only in
arpa/nameser_compat.h, not normally included) but _BIG_ENDIAN (or
_LITTLE_ENDIAN) in sys/isa_defs.h, also included by sys/types.h.
Instead of using [_]BYTE_ORDER, the big/little decision could have been
directly based on the architectures.

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

[2004-12-16 19:59:35] derick@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Something similar is in CVS right now, can you try the latest snapshot
please?

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

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/31121

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


Thread (20 messages)

« previous php.bugs (#70771) next »