Hi BSDI Folks,
On htdig mailing list a question has come up, to which you might know the
answer, is there a bug in /usr/lib/libg++.so in BSDI. I appreciate any
pointers and/or comments.
On Wed, 28 Jul 1999, Geoff Hutchison wrote:
> Date: Wed, 28 Jul 1999 16:21:04 -0400
> From: Geoff Hutchison <[EMAIL PROTECTED]>
> To: "Joe R. Jah" <[EMAIL PROTECTED]>
> Cc: [EMAIL PROTECTED]
> Subject: Re: [htdig] Memory fault (core dumped)
>
> "Joe R. Jah" wrote:
> > Yes, I grepped all the files in the source directory for "Regex"; it's
> > only in htdoc/TODO.html and htlib/regex.c as a comment. I found many
> > instances of it, though, in /usr/lib/libg++.so. Does that mean anything
> > at all?
>
> It may mean a bug in libg++ or a mismatch between libg++ and your C
> library.
> What compiler (version) did you use to compile? Have you tried compiling
> with a more recent compiler (and/or libstdc++)?
Gcc version 2.7.2.1; I haven't tried with any other.
> As Gilles pointed out, one of the changes in 3.1.2 was to use the system
> regex.h, which seems almost uniformly much faster than the rx code that
> we had been using. This is the likely culprit, but I don't know why it's
> not working for you.
On Wed, 28 Jul 1999, Gilles Detillieux wrote:
> Date: Wed, 28 Jul 1999 15:13:02 -0500 (CDT)
> From: Gilles Detillieux <[EMAIL PROTECTED]>
> To: "Joe R. Jah" <[EMAIL PROTECTED]>
> Cc: [EMAIL PROTECTED]
> Subject: Re: [htdig] Memory fault (core dumped)
>
> According to Joe R. Jah:
> > On Wed, 28 Jul 1999, Geoff Hutchison wrote:
> > > > #2 0x180dcf29 in Regex::Regex ()
> > > > #3 0x180dd138 in global constructors keyed to Regex::Regex ()
> >
> > > This still confuses me. There isn't a 'Regex' class in 3.1.2. There's a
> > > Regex class (a fuzzy) in the 3.2 development source. But that shouldn't
> > > be in 3.1.2, so 'Regex::Regex()' shouldn't be called.
> >
> > Yes, I grepped all the files in the source directory for "Regex"; it's
> > only in htdoc/TODO.html and htlib/regex.c as a comment. I found many
> > instances of it, though, in /usr/lib/libg++.so. Does that mean anything
> > at all?
>
> Yes, I suspect that the Regex class might be right in libg++ on your
> system. The first stack backtrace you sent seemed to suggest that all
> the chain of function calls was for some internal initialization sequence
> (none of the symbols seemed to be within ht://Dig's code).
>
> I suspect the problem is somehow related to the switch in 3.1.2 from the
> old, slow regex code bundled in with ht://Dig, to the faster C library
> regex code.
>
> One of the differences I could see is that in the old code in
> htfuzzy/Endings.cc, it did this to include the bundled regex header file:
>
> extern "C"
> {
> # include <rxposix.h>
> }
>
> but now it does this:
>
> #include <regex.h>
>
> Just a wild guess, but maybe surrounding that line with an extern "C"
> construct would help - it might allow inclusion of C library stuff,
> but avoid unwanted C++ library stuff, which appears to be the source of
I did it like so:
__________________
extern "C"
{
#include <regex.h>
}
__________________
I got a compile error:
__________________________________________________
regex.c:210: syntax error before string constant
regex.c:213: syntax error before `}'
gmake[1]: *** [regex.o] Error 1
gmake[1]: Leaving directory
`/usr/home/jjah/tmp/htdig-3.1.2/htdig-3.1.2/htlib'
gmake: *** [all] Error 1
__________________________________________________
> grief here. The other possibility (more wild speculation here) is that
> on BSDI systems, the regex code in the C library somehow conflicts with
> the regex code in the C library, so it would need to be avoided on BSDI
> (or you'd need a different C++ library).
I CC this message to BSDI-Users mailing list for that question.
> It's odd, though, that the problem arises in htsearch but not htfuzzy
> (or does it?). Does htfuzzy do anything differently in its initialization
> to avoid this problem? (retorical question, but hey, if anyone has the answer
> I'd like to hear it)
Yes the problem also arises in htfuzzy.
Joe
--
_/ _/_/_/ _/ ____________ __o
_/ _/ _/ _/ ______________ _-\<,_
_/ _/ _/_/_/ _/ _/ ......(_)/ (_)
_/_/ oe _/ _/. _/_/ ah [EMAIL PROTECTED]
------------------------------------
To unsubscribe from the htdig mailing list, send a message to
[EMAIL PROTECTED] containing the single word unsubscribe in
the SUBJECT of the message.