Edit report at http://bugs.php.net/bug.php?id=51582&edit=1
ID: 51582 Updated by: paj...@php.net Reported by: reidrac at usebox dot net Summary: Don't assume UINT64_C it's ever available -Status: Assigned +Status: Closed Type: Bug Package: Compile Failure Operating System: OpenBSD 3.8 PHP Version: 5.3.2 Assigned To: pajoye New Comment: This bug has been fixed in SVN. 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. Previous Comments: ------------------------------------------------------------------------ [2010-04-26 12:34:55] paj...@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=298588 Log: - Fix #51582, Don't assume UINT64_C it's ever available ------------------------------------------------------------------------ [2010-04-26 12:34:09] paj...@php.net Automatic comment from SVN on behalf of pajoye Revision: http://svn.php.net/viewvc/?view=revision&revision=298587 Log: - Fix #51582, Don't assume UINT64_C it's ever available ------------------------------------------------------------------------ [2010-04-17 17:18:10] reidrac at usebox dot net I just put the macro definition from a Linux include file in the beginning of the crypt_sha512.c file, just for the record: #define UINT64_C(value) __CONCAT(value, ULL) If it builds in recent versions I think it's not worth the effort of modifying configure just for an outdated version of OpenBSD. I hope that if someone has a similar problem can find this bug report, so you can close the bug. Thank! ------------------------------------------------------------------------ [2010-04-17 17:09:15] paj...@php.net If you can provide a patch to fix it for openbsd 3.8, please do. I don't have access to this version and it works with more decent releases. ------------------------------------------------------------------------ [2010-04-17 17:06:45] reidrac at usebox dot net Description: ------------ The new crypt_sha512.c fails to build because UINT64_C macro doesn't exist. Test script: --------------- Try to compile it in a OpenBSD 3.8 system. It's an oudated system, but I guess this problem can affect other "POSIX" systems. Expected result: ---------------- Configure should check for UINT64_C macro and provide it if not found. Actual result: -------------- ..while compiling... .../php/php-5.3.2/ext/standard/crypt_sha512.c:88: error: (near initialization for `K[2]') .../php/php-5.3.2/ext/standard/crypt_sha512.c:88: warning: integer constant is too large for "long" type .../php/php-5.3.2/ext/standard/crypt_sha512.c:88: error: initializer element is not constant .../php/php-5.3.2/ext/standard/crypt_sha512.c:88: error: (near initialization for `K[3]') .../php/php-5.3.2/ext/standard/crypt_sha512.c:89: warning: integer constant is too large for "long" type .../php/php-5.3.2/ext/standard/crypt_sha512.c:89: error: initializer element is not constant ..etc... and build fails. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51582&edit=1