You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2012/02/08 08:12:12 UTC

DO NOT REPLY [Bug 52623] New: does not build with pcre-8.30

https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

             Bug #: 52623
           Summary: does not build with pcre-8.30
           Product: Apache httpd-2
           Version: 2.2.22
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Build
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: oeriksson@mandriva.com
    Classification: Unclassified


Hi there,

I upgraded pcre to 8.30 in Mandriva cooker and now apache won't build due to:

httpd-2.2.22/server/util_pcre.c:140: undefined reference to `pcre_info'

A similar problem was reported and fixed in php recently:

https://bugs.php.net/bug.php?id=60986

Cheers.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

Guillaume Ceccarelli <gu...@gcs-ventures.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |guillaume@gcs-ventures.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #4 from Rainer Jung <ra...@kippdata.de> 2012-02-11 23:08:15 UTC ---
Patch applied for trunk (r1243176) and 2.4.x (r1243177) and proposed for 2.2.x.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #6 from Gregg L. Smith <gl...@gknw.net> 2012-02-12 08:37:51 UTC ---
ignore that :-)

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #1 from Oden Eriksson <oe...@mandriva.com> 2012-02-08 07:23:10 UTC ---
This might be the correct fix:

--- server/util_pcre.c  2005-11-10 16:20:05.000000000 +0100
+++ server/util_pcre.c.oden     2012-02-07 10:47:42.382844294 +0100
@@ -137,7 +137,7 @@ preg->re_erroffset = erroffset;

 if (preg->re_pcre == NULL) return AP_REG_INVARG;

-preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
+preg->re_nsub = pcre_fullinfo((const pcre *)preg->re_pcre, NULL, NULL, NULL);
 return 0;
 }

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #2 from Ruediger Pluem <rp...@apache.org> 2012-02-08 08:34:43 UTC ---
(In reply to comment #1)
> This might be the correct fix:
> 
> --- server/util_pcre.c  2005-11-10 16:20:05.000000000 +0100
> +++ server/util_pcre.c.oden     2012-02-07 10:47:42.382844294 +0100
> @@ -137,7 +137,7 @@ preg->re_erroffset = erroffset;
> 
>  if (preg->re_pcre == NULL) return AP_REG_INVARG;
> 
> -preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
> +preg->re_nsub = pcre_fullinfo((const pcre *)preg->re_pcre, NULL, NULL, NULL);
>  return 0;
>  }

I think this fix is wrong. IMHO it should be:

Index: server/util_pcre.c
===================================================================
--- server/util_pcre.c  (revision 1241805)
+++ server/util_pcre.c  (working copy)
@@ -124,6 +124,7 @@
     const char *errorptr;
     int erroffset;
     int options = 0;
+    int nsub;

     if ((cflags & AP_REG_ICASE) != 0)
         options |= PCRE_CASELESS;
@@ -139,7 +140,9 @@
     if (preg->re_pcre == NULL)
         return AP_REG_INVARG;

-    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
+    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
+                   PCRE_INFO_CAPTURECOUNT, &nsub);
+    preg->re_nsub = nsub;
     return 0;
 }


or even better:

Index: server/util_pcre.c
===================================================================
--- server/util_pcre.c  (revision 1241805)
+++ server/util_pcre.c  (working copy)
@@ -139,7 +139,8 @@
     if (preg->re_pcre == NULL)
         return AP_REG_INVARG;

-    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
+    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
+                   PCRE_INFO_CAPTURECOUNT, &(preg->re_nsub));
     return 0;
 }

Index: include/ap_regex.h
===================================================================
--- include/ap_regex.h  (revision 1241805)
+++ include/ap_regex.h  (working copy)
@@ -88,7 +88,7 @@
 /* The structure representing a compiled regular expression. */
 typedef struct {
     void *re_pcre;
-    apr_size_t re_nsub;
+    int re_nsub;
     apr_size_t re_erroffset;
 } ap_regex_t;



but this requires a major bump since it changes a public API. Can you please
test the above patches?

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

Anatoly Arzhnikov <to...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tolich.arz@gmail.com

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #3 from Rainer Jung <ra...@kippdata.de> 2012-02-11 22:39:55 UTC ---
Hi RĂ¼diger,

both of your patch variants seem right to me. I tested them as follows:

(In reply to comment #2)
> (In reply to comment #1)
> Index: server/util_pcre.c
> ===================================================================
> --- server/util_pcre.c  (revision 1241805)
> +++ server/util_pcre.c  (working copy)
> @@ -124,6 +124,7 @@
>      const char *errorptr;
>      int erroffset;
>      int options = 0;
> +    int nsub;
> 
>      if ((cflags & AP_REG_ICASE) != 0)
>          options |= PCRE_CASELESS;
> @@ -139,7 +140,9 @@
>      if (preg->re_pcre == NULL)
>          return AP_REG_INVARG;
> 
> -    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
> +    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
> +                   PCRE_INFO_CAPTURECOUNT, &nsub);
> +    preg->re_nsub = nsub;
>      return 0;
>  }

Tested on trunk and 2.2.x. No additional build warnings or test suite failures.
This seems to be the best solution for 2.2.x, because no MMN bump is needed.

> or even better:
> 
> Index: server/util_pcre.c
> ===================================================================
> --- server/util_pcre.c  (revision 1241805)
> +++ server/util_pcre.c  (working copy)
> @@ -139,7 +139,8 @@
>      if (preg->re_pcre == NULL)
>          return AP_REG_INVARG;
> 
> -    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
> +    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
> +                   PCRE_INFO_CAPTURECOUNT, &(preg->re_nsub));
>      return 0;
>  }
> 
> Index: include/ap_regex.h
> ===================================================================
> --- include/ap_regex.h  (revision 1241805)
> +++ include/ap_regex.h  (working copy)
> @@ -88,7 +88,7 @@
>  /* The structure representing a compiled regular expression. */
>  typedef struct {
>      void *re_pcre;
> -    apr_size_t re_nsub;
> +    int re_nsub;
>      apr_size_t re_erroffset;
>  } ap_regex_t;

I tested this one only for trunk. Again no additional warnings, no test suite
failures.

I will apply this one to trunk and 2.4.x and propose the other one for 2.2.x.

Regards,

Rainer

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #7 from Oden Eriksson <oe...@mandriva.com> 2012-02-12 08:47:22 UTC ---
(In reply to comment #2)

[...]

> or even better:
> 
> Index: server/util_pcre.c
> ===================================================================
> --- server/util_pcre.c  (revision 1241805)
> +++ server/util_pcre.c  (working copy)
> @@ -139,7 +139,8 @@
>      if (preg->re_pcre == NULL)
>          return AP_REG_INVARG;
> 
> -    preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
> +    pcre_fullinfo((const pcre *)preg->re_pcre, NULL,
> +                   PCRE_INFO_CAPTURECOUNT, &(preg->re_nsub));
>      return 0;
>  }
> 
> Index: include/ap_regex.h
> ===================================================================
> --- include/ap_regex.h  (revision 1241805)
> +++ include/ap_regex.h  (working copy)
> @@ -88,7 +88,7 @@
>  /* The structure representing a compiled regular expression. */
>  typedef struct {
>      void *re_pcre;
> -    apr_size_t re_nsub;
> +    int re_nsub;
>      apr_size_t re_erroffset;
>  } ap_regex_t;
> 
> 
> 
> but this requires a major bump since it changes a public API. Can you please
> test the above patches?

Thanks Ruediger for your quick responce here. I used the second version of the
fix and applied it, but unfortunately I have not yet found time to test this
much.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


DO NOT REPLY [Bug 52623] does not build with pcre-8.30

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=52623

--- Comment #5 from Gregg L. Smith <gl...@gknw.net> 2012-02-12 08:22:15 UTC ---
It seems you have jumped the gun here a little, considering PCRE 8.3 is not yet
released. I know it has been tagged, but has not been made available yet as GA.

As far as 2.2.x, well, since that ships with a older PCRE (I know, all the devs
hate it), you may want to think about making it work for either.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org