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.

Reply via email to