[PHP-DEV] Bug #4227: Error under make From: mflores <email protected>
Date: 04/24/00

From: mflores <email protected>
Operating system: Solaris 7 /ix86
PHP version: 3.0.16
PHP Bug Type: Installation problem
Bug description: Error under make

I have the following error when I try to compile the php-4.0RC1

./configure
.
.
.
.
gcc -DHAVE_CONFIG_H -I. -I/opt/install/php-4.0RC1/ext/standard -I../.. -I../../Zend -I/opt/install/php-4.0RC1 -I/opt/install/php-4.0RC1/ext/mysql/libmysql -I/opt/install/php-4.0RC1/ext/xml/expat/xmltok -I/opt/install/php-4.0RC1/ext/xml/expat/xmlparse -DXML_BYTE_ORDER=21 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -g -O2 -Wall -c crypt.c && touch crypt.lo
crypt.c: In function `php_if_crypt':
crypt.c:110: `PHP_MAX_SALT_LEN' undeclared (first use in this function)
crypt.c:110: (Each undeclared identifier is reported only once
crypt.c:110: for each function it appears in.)
crypt.c:110: size of array `salt' has non-integer type
crypt.c: At top level:
crypt.c:101: warning: `php_to64' defined but not used
*** Error code 1
make: Fatal error: Command failed for target `crypt.lo'
Current working directory /opt/install/php-4.0RC1/ext/standard
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
Current working directory /opt/install/php-4.0RC1/ext/standard
*** Error code 1
make: Fatal error: Command failed for target `all'
Current working directory /opt/install/php-4.0RC1/ext
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'

I think is in the distributed library in ./ext/standard/crypt.c
There is commented a lot of code, I think is that, please I some1 can corroborate this, I'd apreciated.
Thank

Here is some of the code of crypt.c:

#include <stdlib.h>

#include "php.h"

#if HAVE_CRYPT

#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_CRYPT_H
#include <crypt.h>
#endif
#if TM_IN_SYS_TIME
#include <sys/time.h>
#else
#include <time.h>
#endif
#if HAVE_STRING_H
#include <string.h>
#else
#include <strings.h>
#endif

#ifdef PHP_WIN32
#include <process.h>
extern char *crypt(char *__key,char *__salt);
#endif

#include "php_crypt.h"

/*
   The capabilities of the crypt() function is determined by the test programs
   run by configure from aclocal.m4. They will set PHP_STD_DES_CRYPT,
   PHP_EXT_DES_CRYPT, PHP_MD5_CRYPT and PHP_BLOWFISH_CRYPT as appropriate
   for the target platform
*/
#if PHP_STD_DES_CRYPT
#define PHP_MAX_SALT_LEN 2
#endif
#if PHP_EXT_DES_CRYPT
#undef PHP_MAX_SALT_LEN
#define PHP_MAX_SALT_LEN 9
#endif
#if PHP_MD5_CRYPT
#undef PHP_MAX_SALT_LEN
#define PHP_MAX_SALT_LEN 12
#endif
#if PHP_BLOWFISH_CRYPT
#undef PHP_MAX_SALT_LEN
#define PHP_MAX_SALT_LEN 17
#endif

#if HAVE_LRAND48
#define PHP_CRYPT_RAND lrand48()
#else
#if HAVE_RANDOM
#define PHP_CRYPT_RAND random()
#else
#define PHP_CRYPT_RAND rand()
#endif
#endif

PHP_MINIT_FUNCTION(crypt)
{
#if PHP_STD_DES_CRYPT
    REGISTER_LONG_CONSTANT("CRYPT_SALT_LENGTH", 2, CONST_CS | CONST_PERSISTENT);
#else
#if PHP_MD5_CRYPT
    REGISTER_LONG_CONSTANT("CRYPT_SALT_LENGTH", 12, CONST_CS | CONST_PERSISTENT);
#endif
#endif
    REGISTER_LONG_CONSTANT("CRYPT_STD_DES", PHP_STD_DES_CRYPT, CONST_CS | CONST_PERSISTENT);
    REGISTER_LONG_CONSTANT("CRYPT_EXT_DES", PHP_EXT_DES_CRYPT, CONST_CS | CONST_PERSISTENT);
    REGISTER_LONG_CONSTANT("CRYPT_MD5", PHP_MD5_CRYPT, CONST_CS | CONST_PERSISTENT);
    REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | CONST_PERSISTENT);
    return SUCCESS;
}

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>