On Mon, 24 Nov 2003, Virgil wrote:
> I'm having troubles getting libxstd.a in 2.8.0 to compile. 2.7.6
> compiled cleanly on the same box.
>
> He are the versions of the relevant software:
>
> $ uname -a
> Linux $HOSTNAME 2.4.20-13.7smp #1 SMP Mon May 12 12:31:27 EDT 2003 i686
> unknown
>
> $ g++ -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
> gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113)
>
>
> Here's the make output for the directory in question:
>
> g++ -o RegEx.o -c RegEx.cc -g -O1 -Wall -Wwrite-strings
> -Woverloaded-virtual -I../.. -I.. -DHAVE_CONFIG_H
> RegEx.cc: In method `bool RegEx::reMatch (const char *,
> Array<regmatch_t> &, int) const':
> RegEx.cc:158: no matching function for call to `String::reset ()'
> make[2]: *** [RegEx.o] Error 1
> make[2]: Leaving directory
> `/home/virgil/proxy-test/polygraph-2.8.0/src/xstd'
This is a Polygraph bug. It looks like REG_STARTEND extension for
regular expressions is not supported in your environment. We probably
have never tested this case, and since it is in REG_STARTEND-dependent
#ifdefs, the compiler in other environments did not complain.
A RegEx.cc patch is below. It should fix this compilation problem, but
we obviously do not know if that particular piece of code works at all
in your environment. IIRC, regular expressions are not used for core
Polygraph functionality though. It is likely you will not actually use
them.
Please keep us posted on your progress.
Thank you,
Alex.
Index: src/xstd/RegEx.cc
===================================================================
RCS file: /usr/local/CVS/polygraph/src/xstd/RegEx.cc,v
retrieving revision 1.10
diff -u -r1.10 RegEx.cc
--- src/xstd/RegEx.cc 16 Oct 2003 23:24:31 -0000 1.10
+++ src/xstd/RegEx.cc 24 Nov 2003 05:03:14 -0000
@@ -155,7 +155,7 @@
// REG_STARTEND RE extension is not supported
// we need to terminate the buffer and re-adjust offsets after
static String buf;
- buf.reset();
+ buf = String();
buf.append(str + matches[0].rm_so,
matches[0].rm_eo - matches[0].rm_so);
str = buf.cstr();
This archive was generated by hypermail 2b29 : Mon Feb 06 2006 - 12:00:27 MST