ID: 31121 User updated by: strube at physik3 dot gwdg dot de Reported By: strube at physik3 dot gwdg dot de Status: Assigned Bug Type: Compile Failure Operating System: Solaris 7 SPARC PHP Version: 4.3.10 Assigned To: derick New Comment:
As I wrote, it was an ad-hoc patch, which worked for me on Solaris 7 SPARC. It may not be sufficiently general. Since the necessity to defined u_int32_t is not dependent on the architecture but on the OS and obviously meant for Solaris, the second chunk must be changed to work both on SPARC and x86 Solaris (don't know about ppc): *************** *** 127,133 **** #define IEEE_LITTLE_ENDIAN #endif ! #if defined(__sparc__) || defined(__ppc__) #define u_int32_t uint32_t #endif --- 134,140 ---- #define IEEE_LITTLE_ENDIAN #endif ! #if defined(sun) || defined(__sun) || defined(__ppc__) #define u_int32_t uint32_t #endif I compiled zend_strtod.c successfully in Solaris 7 and 8 (SPARC) and Solaris 9_x86, with various versions (>=5) of the Sun compilers and of the GNU compilers. (I did not compile the whole php for testing, only zend_strtod.c.) As I cannot give you an account here, this will hopefully help. Previous Comments: ------------------------------------------------------------------------ [2004-12-16 13:02:58] [EMAIL PROTECTED] Hello, I think your patch is not 100% correct, would it be possible for me to get an account on your machine to debug it? Derick ------------------------------------------------------------------------ [2004-12-16 12:46:02] strube at physik3 dot gwdg dot de Description: ------------ Compilation of zend_strtod.c fails in Solaris 7 with Sun Workshop 5.0 compiler. There are two reasons: (1) IEEE_*_ENDIAN does not get defined. (2) line 246: syntax error before or at: u_int32_t As for (2), this is almost identical to Bug #30779, but (1) is not reported there. My ad-hoc patch: *** Zend/zend_strtod.c.ORI Tue Dec 14 09:35:26 2004 --- Zend/zend_strtod.c Thu Dec 16 12:21:54 2004 *************** *** 95,101 **** static char *rcsid = "$OpenBSD: strtod.c,v 1.19 2004/02/03 16:52:11 drahn Exp $"; #endif /* LIBC_SCCS and not lint */ ! #if defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ defined(__powerpc__) || defined(__ppc__) || defined(__m88k__) || \ defined(__hppa__) || defined(__x86_64__) || (defined(__arm__) && \ --- 95,108 ---- static char *rcsid = "$OpenBSD: strtod.c,v 1.19 2004/02/03 16:52:11 drahn Exp $"; #endif /* LIBC_SCCS and not lint */ ! #if defined(sun) || defined(__sun) ! #include <sys/isa_defs.h> ! #ifdef _BIG_ENDIAN ! #define IEEE_BIG_ENDIAN ! #else ! #define IEEE_LITTLE_ENDIAN ! #endif ! #elif defined(__m68k__) || defined(__sparc__) || defined(__i386__) || \ defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || \ defined(__powerpc__) || defined(__ppc__) || defined(__m88k__) || \ defined(__hppa__) || defined(__x86_64__) || (defined(__arm__) && \ *************** *** 127,133 **** #define IEEE_LITTLE_ENDIAN #endif ! #if defined(__sparc__) || defined(__ppc__) #define u_int32_t uint32_t #endif --- 134,140 ---- #define IEEE_LITTLE_ENDIAN #endif ! #if defined(__sparc__) || defined(__sparc) || defined(__ppc__) #define u_int32_t uint32_t #endif ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31121&edit=1