php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #31110 PHP 4.3.10 does not compile on Tru64 UNIX 5.1B
Submitted: 2004-12-16 07:28 UTC Modified: 2004-12-16 11:36 UTC
From: ct at swin dot edu dot au Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.3.10 OS: Tru64 UNIX 5.1B
Private report: No CVE-ID:
 [2004-12-16 07:28 UTC] ct at swin dot edu dot au
Description:
------------
Unable to compile PHP 4.3.10 on Tru64 UNIX 5.1B.  PHP 4.3.9 compiles successfully on this platform.  Compiler used is the one shipped in the operating system.

Actual result:
--------------
./configure  --prefix=/www/php-4.3.10 --with-apxs=/www/apache-1.3.32/bin/apxs --with-pgsql=/www/postgresql-7.3.4

[...]

/bin/ksh /usr/local/src/web-161204/php-4.3.10/libtool --silent --preserve-dup-deps --mode=compile cc  -IZend/ -I/usr/local/src/web-161204/php-4.3.10/Zend/ -DPHP_ATOM_INC -I/usr/local/src/web-161204/php-4.3.10/include -I/usr/local/src/web-161204/php-4.3.10/main -I/usr/local/src/web-161204/php-4.3.10 -I/usr/local/src/web-161204/php-4.3.10/Zend -I/www/postgresql-7.3.4/include -I/usr/local/src/web-161204/php-4.3.10/ext/xml/expat  -I/usr/local/src/web-161204/php-4.3.10/TSRM  -g  -prefer-pic -c /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c -o Zend/zend_strtod.lo 
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 233: In this declaration, "Exactly" appears to be used as if it named a type, but there is no declared type of that name visible. (typedefnotdef)
Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX, or
^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 240: Invalid declarator. (declarator)
} _double;
^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 928: In this declaration, "_double" must specify a type. (badparsedecl)
        _double x;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 930: In this declaration, "_double" must specify a type. (badparsedecl)
        _double a;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 970: In this declaration, "_double" must specify a type. (badparsedecl)
        _double d;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1041: In this declaration, "_double" must specify a type. (badparsedecl)
        _double d;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1172: In this declaration, "_double" must specify a type. (badparsedecl)
        _double da, db;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1243: In this declaration, "_double" must specify a type. (badparsedecl)
        _double rv, rv0;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 932: In this statement, "x" is not declared. (undeclared)
        value(x) = _x;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 940: In this statement, "a" is not declared. (undeclared)
                word0(a) = L;
----------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 988: In this statement, "d" is not declared. (undeclared)
                d0 = Exp_1 | y >> (Ebits - k);
----------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 995: In this statement, "d" is not declared. (undeclared)
                d0 = Exp_1 | y << k | z >> (32 - k);
----------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1000: In this statement, "d" is not declared. (undeclared)
                d0 = Exp_1 | y;
----------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1027: In this statement, "d" is not declared. (undeclared)
        return value(d);
---------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1046: In this statement, "d" is not declared. (undeclared)
        value(d) = _d;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1175: In this statement, "da" is not declared. (undeclared)
        value(da) = b2d(a, &ka);
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1176: In this statement, "db" is not declared. (undeclared)
        value(db) = b2d(b, &kb);
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1252: In this statement, "rv" is not declared. (undeclared)
        value(rv) = 0.;
--------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1485: In this statement, "rv0" is not declared. (undeclared)
                        value(rv0) = value(rv);
------------------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1684: In this statement, "rv0" is not declared. (undeclared)
                        value(rv0) = value(rv);
------------------------^
cc: Error: /usr/local/src/web-161204/php-4.3.10/Zend/zend_strtod.c, line 1702: In this statement, "rv0" is not declared. (undeclared)
                                value(rv0) = value(rv);
--------------------------------^
*** Exit 1
Stop.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-12-16 07:48 UTC] ct at swin dot edu dot au
I have replaced the line "Exactly one of IEEE_LITTLE_ENDIAN IEEE_BIG_ENDIAN, VAX...." with "#define IEEE_BIG_ENDIAN" in Zend/zend_strtod.c and compilation has completed successfully.
 [2004-12-16 09:25 UTC] derick@php.net
That is strange, i tested it myself on:
OSF1 xxx.xxxx.fr V5.1 2650 alpha

myself, and it works fine there, but that was using GCC. Do you know how to detect the tru64 platform with a define?

 [2004-12-16 09:58 UTC] ct at swin dot edu dot au
I'm not much of a programmer, but I believe the HP/Compaq cc compiler only defines __alpha whereas GCC defines __alpha and __alpha__
 [2004-12-16 10:27 UTC] derick@php.net
Can you please test this by changing line 104 of Zend/zend_strtod.c to:
    defined(__mips__) || defined(__ns32k__) || defined(__alpha__) || defined(__alpha) || \

(in one line)

thanks,
Derick
 [2004-12-16 10:43 UTC] ct at swin dot edu dot au
Yes it compiles with that change, but I gather it should be 99 not 104.
 [2004-12-16 11:36 UTC] derick@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.

Yes, you are correct. Thanks for testing, and I'm committing this to CVS now.
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 15:02:26 2014 UTC