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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jc at mega-bucks dot co dot jp
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Thu Jul 17 07:01:31 2025 UTC