php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #22073 --with-mcrypt won't compile
Submitted: 2003-02-05 09:46 UTC Modified: 2003-04-09 03:45 UTC
From: jc at mega-bucks dot co dot jp Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.3.0 OS: Red Hat Linux 8.0
Private report: No CVE-ID: None
 [2003-02-05 09:46 UTC] jc at mega-bucks dot co dot jp
First off, the documentation on how to install mcrypt support for PHP is severely lacking so I'm sorry if this is a stupid bug report. (I am also submitting a documentation bug report to points this out :)

I asked on the newsgroups and tried the several different methods suggested for installing mcrypt support but they all failed at one stage or another.

The furthest I can get is to a PHP make, but that always fails.

I cleaned my system off all old installations and downloaded libmcrypt 2.5.6, did:

./configure
make && make install

with no errors:

To make sure all old files where gone and I have only the new installation files:

[root@host110 php-4.3.0]# locate mcrypt.h
/usr/local/include/mcrypt.h
/usr/src/php-4.3.0/ext/mcrypt/php_mcrypt.h
/usr/src/libmcrypt-2.5.6/lib/mcrypt.h
/usr/src/libmcrypt-2.5.6/lib/mcrypt.h.in


I can ./configure PHP successfully but when I try and make I get this very long error. is this a PHP bug or did I miss something along the installation process:

./configure --with-pgsql=/usr/local/psql/ --without-mysql --with-apache=../apache_1.3.27/ --enable-mbstring --enable-mbstring-enc-trans --enable-mbregex --with-mcrypt

Works fine, giving:
Running system checks
[...]
checking for crypt.h... (cached) yes
[...]
checking for crypt... (cached) no
[...]
checking for crypt in -lcrypt... (cached) yes
[...]
Configuring extensions
[...]
checking for mcrypt support... yes
checking for mcrypt_module_open in -lmcrypt... (cached) no
checking for init_mcrypt in -lmcrypt... (cached) yes
[...]
checking for standard DES crypt... (cached) yes
checking for extended DES crypt... (cached) no
checking for MD5 crypt... (cached) yes
checking for Blowfish crypt... (cached) no

[root@host110 php-4.3.0]# make
gcc  -Iext/mcrypt/ -I/usr/src/php-4.3.0/ext/mcrypt/ -DPHP_ATOM_INC -I/usr/src/php-4.3.0/include -I/usr/src/php-4.3.0/main -I/usr/src/php-4.3.0 -I/usr/src/php-4.3.0/Zend -I/usr/local/include -I/usr/local/psql//include -I/usr/src/php-4.3.0/ext/xml/expat  -I/usr/src/php-4.3.0/TSRM  -g -O2  -c /usr/src/php-4.3.0/ext/mcrypt/mcrypt.c -o ext/mcrypt/mcrypt.o  && echo > ext/mcrypt/mcrypt.lo
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning:   as it has already been specified as a non-system directory
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:229:1: warning: "MCRYPT_FAILED" redefined
In file included from /usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:34:
/usr/local/include/mcrypt.h:31:1: warning: this is the location of the previous definition
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c: In function `zm_startup_mcrypt':
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:279: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:280: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:281: `MCRYPT_BLOWFISH_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:281: (Each undeclared identifier is reported only once
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:281: for each function it appears in.)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:282: `MCRYPT_BLOWFISH_192' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:283: `MCRYPT_BLOWFISH_256' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:284: `MCRYPT_BLOWFISH_448' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:285: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:286: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:287: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:288: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:289: `MCRYPT_IDEA' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:290: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:291: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:292: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:293: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:294: `MCRYPT_RC2_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:295: `MCRYPT_RC2_256' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:296: `MCRYPT_RC2_1024' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:297: `MCRYPT_RC4' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:298: `MCRYPT_RC6_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:299: `MCRYPT_RC6_192' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:300: `MCRYPT_RC6_256' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:301: `MCRYPT_SAFER_64' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:302: `MCRYPT_SAFER_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:303: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:304: `MCRYPT_SERPENT_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:305: `MCRYPT_SERPENT_192' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:306: `MCRYPT_SERPENT_256' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:307: `MCRYPT_TWOFISH_128' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:308: `MCRYPT_TWOFISH_192' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:309: `MCRYPT_TWOFISH_256' undeclared (first use in this function)
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:310: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c: In function `zif_mcrypt_get_cipher_name':
/usr/src/php-4.3.0/ext/mcrypt/mcrypt.c:1503: warning: assignment makes pointer from integer without a cast
make: *** [ext/mcrypt/mcrypt.lo] Error 1


make however gives this error:


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-02-05 11:14 UTC] jc at mega-bucks dot co dot jp
Sorry, I forgot to answer you question about mcrypt version.

# libmcrypt-config --version
2.5.6
 [2003-02-05 11:48 UTC] derick@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

Very likely to be fixed in CVS.
 [2003-02-05 20:38 UTC] jc at mega-bucks dot co dot jp
Bug disapears with newest CVS snapshot. Thank you.

Just curious but what was the bug?
 [2003-02-05 20:43 UTC] magnus@php.net
User reports the bug is gone in CVS => Closed. 
 [2003-02-06 04:46 UTC] derick@php.net
PHP's configure still relied that libmcrypt used libltdl always, which is no longer the case as of libmcrypt 2.5.6.
 [2004-09-22 10:19 UTC] pingslave at biosys dot net
This bug should be reopened.  It still exists when compiling with the following system:
  FreeBSD 4.10-STABLE (cvsupped 22-Sep-2004)
  libmcrypt 2.5.7_1 (from ports)
  mcrypt 2.6.4_2 (from ports)
  mhash 0.8.18 (from ports
  php 4.3.8 source tarball

fixed in CVS or no, it still exists in the released tarballs for over a year now, through 8 different releases (4.3.0 - 4.3.8).

Configure line is:
./configure --with-pgsql --with-mysql --with-mcrypt --with-apxs2=/usr/local/apache2/bin/apxs

Configure proceeds normally without errors.  During 'make'...

/bin/sh /usr/builds/php-4.3.8/libtool --silent --preserve-dup-deps --mode=compile gcc  -Iext/mcrypt/ -I/usr/builds/php-4.3.8/ext/mcrypt/ -DPHP_ATOM_INC -I/usr/builds/php-4.3.8/include -I/usr/builds/php-4.3.8/main -I/usr/builds/php-4.3.8 -I/usr/builds/php-4.3.8/Zend -I/usr/local/include -I/usr/builds/php-4.3.8/ext/xml/expat  -I/usr/builds/php-4.3.8/TSRM  -g -O2  -prefer-pic -c /usr/builds/php-4.3.8/ext/mcrypt/mcrypt.c -o ext/mcrypt/mcrypt.lo
/usr/builds/php-4.3.8/ext/mcrypt/mcrypt.c:229: warning: `MCRYPT_FAILED' redefined
/usr/local/include/mcrypt.h:31: warning: this is the location of the previous definition
/usr/builds/php-4.3.8/ext/mcrypt/mcrypt.c: In function `zm_startup_mcrypt':
/usr/builds/php-4.3.8/ext/mcrypt/mcrypt.c:280: warning: passing arg 3 of `zend_register_long_constant' makes integer from pointer without a cast

.... and on it goes just like the original bug report.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 02:01:29 2024 UTC