php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #15059 compile fails when I add cyrus support
Submitted: 2002-01-15 17:18 UTC Modified: 2002-06-30 01:40 UTC
Votes:10
Avg. Score:4.6 ± 0.8
Reproduced:7 of 7 (100.0%)
Same Version:5 (71.4%)
Same OS:1 (14.3%)
From: shillier at cbnco dot com Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 4.1.1 OS: SuSE Linux7.2 linux-2.4.9
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: shillier at cbnco dot com
New email:
PHP Version: OS:

 

 [2002-01-15 17:18 UTC] shillier at cbnco dot com
Hi,

Vanilla php-4.1.1 src tree,

here's my command sequence:

# ./configure --with-zlib --enable-calendar --with-mcal=/usr  --with-pgsql --enable-trans-sid --enable-sysvshm --with-xml --with-imap-ssl --with-imap --with-cyrus=/usr/cyrus

<configure script runs fine, with no errors>

# make all

Output:

<...snip>

Making all in cyrus
make[2]: Entering directory `/tmp/php-4.1.1/ext/cyrus'
make[3]: Entering directory `/tmp/php-4.1.1/ext/cyrus'
gcc -I. -I/tmp/php-4.1.1/ext/cyrus -I/tmp/php-4.1.1/main -I/tmp/php-4.1.1 -I/tmp/php-4.1.1/Zend -I/usr/include/imap -I/usr/include/mcal -I/tmp/php-4.1.1/ext/mysql/libmysql -I/tmp/php-4.1.1/ext/xml/expat  -I/tmp/php-4.1.1/TSRM -g -O2  -c cyrus.c && touch cyrus.lo
cyrus.c: In function `zif_cyrus_authenticate':
cyrus.c:271: warning: assignment makes pointer from integer without a cast
cyrus.c:275: warning: assignment makes pointer from integer without a cast
cyrus.c:293: warning: comparison between pointer and integer
cyrus.c:302: warning: comparison between pointer and integer
cyrus.c: In function `zif_cyrus_query':
cyrus.c:467: void value not ignored as it ought to be
make[3]: *** [cyrus.lo] Error 1
make[3]: Leaving directory `/tmp/php-4.1.1/ext/cyrus'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/php-4.1.1/ext/cyrus'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/php-4.1.1/ext'
make: *** [all-recursive] Error 1

</snip...>

And that's after I corrected a type-o on line 89 and 90 of $builddir/ext/cyrus/cyrus.c
This type-o also prevented a successful compile. I'm curious why I can't get this thing to work. What's broken? I've looked at the source code on the lines indicated but I can't find anything wrong. Can someone please help?

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-01-22 18:51 UTC] roland dot felnhofer at chello dot at
Hi, I had the same problem!

Here a patch I made who worked so far form me.
What does that mean? 
I have absolutely NO C knowledge. Just by comparing the effected line with similar lines in cyrus.c and other ext files I generated it. 
SO I HAVE NO CLUE WHAT I DID !!! - but it compiled.
I haven't installed PHP4 so far and tested the cyrus part.

May be someone with solid C knowledge could check what I did and if there is a far change that it works.

And here finally the patch:

--- cyrus.c.ori Wed Jan 23 00:10:48 2002
+++ cyrus.c     Wed Jan 23 00:06:03 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cyrus.c,v 1.8 2001/12/11 15:28:59 sebastian Exp $ */
+/* $Id: cyrus.c,v 1.9 2002/01/22 23:34:50 sebastian Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -64,7 +64,7 @@
 ZEND_GET_MODULE(cyrus)
 #endif
 
-static void cyrus_free(zend_rsrc_list_entry *rsrc)
+static void cyrus_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
        php_cyrus *conn = (php_cyrus *) rsrc->ptr;
 
@@ -297,7 +297,7 @@
        }
 
        /* Determine the minssf */
-       if (argc > 4 && Z_TYPE_PP(z_minssf) != NULL) {
+       if (argc > 4 && Z_TYPE_PP(z_minssf) != IS_NULL) {
                convert_to_long_ex(z_minssf);
                minssf = Z_LVAL_PP(z_minssf);
        }
@@ -306,7 +306,7 @@
        }
 
        /* Determine the maxssf */
-       if (argc > 5 && Z_TYPE_PP(z_maxssf) != NULL) {
+       if (argc > 5 && Z_TYPE_PP(z_maxssf) != IS_NULL) {
                convert_to_long_ex(z_maxssf);
                maxssf = Z_LVAL_PP(z_maxssf);
        }
@@ -357,7 +357,7 @@
                argv[3] = &msgno;
 
                if (call_user_function_ex(EG(function_table), NULL, callback->function, 
-                                  &retval, 4, argv, 0, NULL) == FAILURE) {
+                                  &retval, 4, argv, 0, NULL TSRMLS_CC) == FAILURE) {
                        php_error(E_WARNING, "Couldn't call the %s handler", 
                                  callback->trigger);
                }
 [2002-01-22 18:51 UTC] roland dot felnhofer at chello dot at
Hi, I had the same problem!

Here a patch I made who worked so far form me.
What does that mean? 
I have absolutely NO C knowledge. Just by comparing the effected line with similar lines in cyrus.c and other ext files I generated it. 
SO I HAVE NO CLUE WHAT I DID !!! - but it compiled.
I haven't installed PHP4 so far and tested the cyrus part.

May be someone with solid C knowledge could check what I did and if there is a far change that it works.

And here finally the patch:

--- cyrus.c.ori Wed Jan 23 00:10:48 2002
+++ cyrus.c     Wed Jan 23 00:06:03 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: cyrus.c,v 1.8 2001/12/11 15:28:59 sebastian Exp $ */
+/* $Id: cyrus.c,v 1.9 2002/01/22 23:34:50 sebastian Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -64,7 +64,7 @@
 ZEND_GET_MODULE(cyrus)
 #endif
 
-static void cyrus_free(zend_rsrc_list_entry *rsrc)
+static void cyrus_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
 {
        php_cyrus *conn = (php_cyrus *) rsrc->ptr;
 
@@ -297,7 +297,7 @@
        }
 
        /* Determine the minssf */
-       if (argc > 4 && Z_TYPE_PP(z_minssf) != NULL) {
+       if (argc > 4 && Z_TYPE_PP(z_minssf) != IS_NULL) {
                convert_to_long_ex(z_minssf);
                minssf = Z_LVAL_PP(z_minssf);
        }
@@ -306,7 +306,7 @@
        }
 
        /* Determine the maxssf */
-       if (argc > 5 && Z_TYPE_PP(z_maxssf) != NULL) {
+       if (argc > 5 && Z_TYPE_PP(z_maxssf) != IS_NULL) {
                convert_to_long_ex(z_maxssf);
                maxssf = Z_LVAL_PP(z_maxssf);
        }
@@ -357,7 +357,7 @@
                argv[3] = &msgno;
 
                if (call_user_function_ex(EG(function_table), NULL, callback->function, 
-                                  &retval, 4, argv, 0, NULL) == FAILURE) {
+                                  &retval, 4, argv, 0, NULL TSRMLS_CC) == FAILURE) {
                        php_error(E_WARNING, "Couldn't call the %s handler", 
                                  callback->trigger);
                }
 [2002-02-14 03:34 UTC] dave at bcs dot co dot nz
Its fixed by bug report 14671
 [2002-02-24 07:11 UTC] tchurchward at terre dot demon dot co dot uk
Using Version 4.1.1
On RH7.1

Configuration (without incident) like so:-

./configure --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --with-cyrus --with-openssl --with-imap-ssl --with-zlib


During execution of 'make' the following messages eventually lead to failure...

Making all in cyrus
make[2]: Entering directory `/usr/local/src/php-4.1.1/ext/cyrus'
make[3]: Entering directory `/usr/local/src/php-4.1.1/ext/cyrus'
/bin/sh /usr/local/src/php/libtool --silent --mode=compile gcc  -I. -I/usr/local/src/php/ext/cyrus -I/usr/local/src/php/main -I/usr/
local/src/php -I/usr/local/apache/include -I/usr/local/src/php/Zend -I/usr/local/include -I/usr/local/mysql/include/mysql -I/usr/loc
al/src/php/ext/xml/expat  -DLINUX=22 -DUSE_HSREGEX -DUSE_EXPAT -I/usr/local/src/php/TSRM -g -O2 -prefer-pic  -c cyrus.c
cyrus.c: In function `zm_startup_cyrus':
cyrus.c:88: `IMCLIENT_CONN_NOSYNCLITERAL' undeclared (first use in this function)
cyrus.c:88: (Each undeclared identifier is reported only once
cyrus.c:88: for each function it appears in.)
cyrus.c:88: `CONST_CS_' undeclared (first use in this function)
cyrus.c: In function `zif_cyrus_authenticate':
cyrus.c:271: warning: assignment makes pointer from integer without a cast
cyrus.c:275: warning: assignment makes pointer from integer without a cast
cyrus.c:293: warning: comparison between pointer and integer
cyrus.c:302: warning: comparison between pointer and integer
cyrus.c: In function `zif_cyrus_query':
cyrus.c:467: void value not ignored as it ought to be
make[3]: *** [cyrus.lo] Error 1
make[3]: Leaving directory `/usr/local/src/php-4.1.1/ext/cyrus'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.1.1/ext/cyrus'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.1.1/ext'
make: *** [all-recursive] Error 1
 [2002-03-15 15:30 UTC] delouw at bigfoot dot com
I have the same problme with 4.1.2, SuSE 7.3, cyrus 2.0.16 
 
rgds 
 
Luc
 [2002-06-30 01:40 UTC] sniper@php.net
Thank you for taking the time to report a problem with PHP.
Unfortunately your version of PHP is too old -- the problem
might already be fixed. Please download a new PHP
version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Sep 27 23:01:26 2024 UTC