ID: 17449 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Feedback Bug Type: Arrays related Operating System: Digital UNIX V4.0G (Rev. 1530) PHP Version: 4.2.1 New Comment:
php4-200205280000.tar.gz doesn't compile here: % configure --prefix=/Team/local [...] gcc -Imain/ -I/Team/local/src/php4-200205280000/main/ -DPHP_ATOM_INC -I/Team/local/src/php4-200205280000/include -I/Team/local/src/php4-200205280000/main -I/Team/local/src/php4-200205280000 -I/Team/local/src/php4-200205280000/Zend -I/Team/local/src/php4-200205280000/ext/xml/expat -I/Team/local/src/php4-200205280000/TSRM -g -O2 -c /Team/local/src/php4-200205280000/main/user_streams.c -o main/user_streams.o && echo > main/user_streams.lo In file included from /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/stdarg.h:36, from /Team/local/src/php4-200205280000/Zend/zend.h:59, from /Team/local/src/php4-200205280000/main/php.h:34, from /Team/local/src/php4-200205280000/main/user_streams.c:22: /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list' /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here Make: Don't know how to make /zend_language_parser.c. Stop. Zend/zend_language_parser.c exists, but the Makefile searches for /zend_language_parser.c and several other files in /. Previous Comments: ------------------------------------------------------------------------ [2002-05-27 17:28:23] [EMAIL PROTECTED] This may be related to a casting problem which is supposed to be fixed in HEAD, please try this version (snapshots are available at snaps.php.net), thx. ------------------------------------------------------------------------ [2002-05-27 17:19:01] [EMAIL PROTECTED] 4.2.0RC1 introduced the new sorting code Zend/zend_qsort.c from Sterling, maybe that's related? ------------------------------------------------------------------------ [2002-05-27 15:42:16] [EMAIL PROTECTED] Bug #17257 seems to be the same problem ("Digital UNIX OSF/1" is the old name of "Compaq Tru64"). People there found that all sort functions broke with PHP-4.2.0RC1, I can confirm this now. Smallest test program: <?php $a = array(9,7,3,5); sort($a); print_r($a); ?> Output: Array ( [0] => 9 [1] => 7 [2] => 3 [3] => 5 ) It's not compiler-related, both gcc-2.95.2 and Compac C V6.3-129 give the same results. Maybe endianess-related (the Compaq machine have Alpha processors)? If somebody more clueful wants to take a look at this problem: Compaq provides free test accounts (not only with Tru64, but also with FreeBSD, NetBSD and Linux), see <http://www.testdrive.compaq.com/>. I compiled PHP-4.2.0RC1 there on FreeBSD/Alpha, and gcc-2.95.3 gives lots of warnings: *** The -O2 flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM But even with CFLAGS="-O0 -g" sort() does not sort at all. On FreeBSD/Intel it does work, so it probably is an endianess problem. ------------------------------------------------------------------------ [2002-05-27 14:29:54] [EMAIL PROTECTED] Well, the script runs fine under my IRIX64 6.5.16m on mod_php/Apache 1.3.24 but not when using a 64bit cgi binary with Apache2. Case 1 http://sgi.takenet.de/php/sort.php Case 2 http://sgi.takenet.de:8080/php/sort.php ------------------------------------------------------------------------ [2002-05-27 11:11:05] [EMAIL PROTECTED] I checked some older versions: until PHP-4.1.2, sort() was fine. I didn't check 4.2.0RC*, yet, but will do so tomorrow. ------------------------------------------------------------------------ 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/17449 -- Edit this bug report at http://bugs.php.net/?id=17449&edit=1