Re: [htdig] problems compiling hdig on solaris


Gilles Detillieux (grdetil@scrc.umanitoba.ca)
Mon, 5 Apr 1999 11:29:58 -0500 (CDT)


According to Carlos Mejia:
> The problem was partially solved now.
>
> I had simultaneously the old libg++ and the new libstdc++. I erase the the
> old one, recompile and almost all is ok. I have a new compiler error that I
> solve by comming back in the Display.cc.0 patch. Yes, this problem was
> introduced by this patch. Here is the new error message :
>
> ============================== CC ERROR ==============================
> c++ -c -DCONFIG_DIR=\"/usr/local/apache/conf\"
> -DDEFAULT_CONFIG_FILE=\"/usr/local/apache/conf/htdig.conf\" -I../htlib
> -I../htcommon -I../db/dist -I../rx/rx -I../include -g -O2 Display.cc
> Display.cc: In method `void Display::displayMatch(class ResultMatch *, int)':
> Display.cc:343: no match for `String & = String *'
> ./htlib/htString.h:55: candidates are: String::operator =(char *)
> ./htlib/htString.h:54: String::operator =(const String &)
> *** Error code 1
> make: Fatal error: Command failed for target `Display.o'
> Current working directory /usr/local/apache/utils/htdig-3.1.1/htsearch
> *** Error code 1
> make: Fatal error: Command failed for target `all'
> =======================================================================
>
>
> I think the solution should not be difficult but I dont know c++. For this
> reason I backtrak the patch. After that, compilation and installation runs
> smoth. Here is part of the Display.cc.0 patch:
>
> ============================== PATCH DISPLAY.CC.0
> ==============================
> *************** Display::displayMatch(ResultMatch *match
> *** 337,343 ****
> *str << ((String*) (*list)[i])->get() << "<br>\n";
> }
> vars.Add("DESCRIPTIONS", str);
> ! vars.Add("DESCRIPTION", ((String*) (*list)[1]));
> }
>
> expandVariables(currentTemplate->getMatchTemplate());
> --- 342,350 ----
> *str << ((String*) (*list)[i])->get() << "<br>\n";
> }
> vars.Add("DESCRIPTIONS", str);
> ! String *description = new String();
> ! *description = ((String*) (*list)[0]);
> ! vars.Add("DESCRIPTION", description);
> }
>
> expandVariables(currentTemplate->getMatchTemplate());
> ================================================================================
> =

Yes, that was an untested patch. The correct code you should use to set
the DESCRIPTION variable is this:

        String *description = new String();
        if (list->Count())
            *description << ((String*) (*list)[0]);
        vars.Add("DESCRIPTION", description);

-- 
Gilles R. Detillieux              E-mail: <grdetil@scrc.umanitoba.ca>
Spinal Cord Research Centre       WWW:    http://www.scrc.umanitoba.ca/~grdetil
Dept. Physiology, U. of Manitoba  Phone:  (204)789-3766
Winnipeg, MB  R3E 3J7  (Canada)   Fax:    (204)789-3930
------------------------------------
To unsubscribe from the htdig mailing list, send a message to
htdig@htdig.org containing the single word "unsubscribe" in
the SUBJECT of the message.



This archive was generated by hypermail 2.0b3 on Mon Apr 05 1999 - 11:41:39 PDT