Inzwischen ist es ja IN 5 Jahre alte Umgebungen einfach auf neue Hardware zu ziehen, ich beschäftige mich echt häufig damit. -.-
Wie dem auch sei, ich brauch auf einem i64 Server htdig 3.1.6,
Sollte theoretisch ja kein problem sein mit einem aktuell gcc Compiler z.B. 4.2.
Denkste… den Fehler output den ich bekommen habe, paste ich jetzt mal nicht weil er einfach nur lang und ätzend ist. Nach etwas suchen habe ich folgende Post gefunden:
Hi - I don’t have a dapper system to test the package with, so I can’t help in that regard. I can’t think of anything else to suggest at this point, other than continuing with your attempt to build from source. Unless you have some reason to do otherwise, I would strongly recommend that you try 3.2.0b6 rather than 3.1.6. The 3.1.6 code is ancient and hasn’t seen an update in nearly six years. While the 3.2.0b6 version is itself languishing, it is a little more up to date and people still seem to be having reasonably good luck with it. I wouldn’t worry too much about the ‘b6′; this version of the code was very near official release when it stopped being maintained.
Jim
Ok die Aktuelle Beta holen. ( Aktuell ist auch so eine sache -.- ), Downloaden wir also htdig 3.2.0b6 und kompelieren das ganze:
make[1]: Leaving directory `/usr/local/src/htdig-3.2.0b6/htdig’
Making all in htsearch
make[1]: Entering directory `/usr/local/src/htdig-3.2.0b6/htsearch’
g++ -DHAVE_CONFIG_H -I. -I. -I../include -DDEFAULT_CONFIG_FILE=\”/home/httpd/htdig_3.2/conf/htdig.conf\” -I../include -I../htlib -I../htnet -I../htcommon -I../htword -I../db -I../db DCONFIG_DIR=\”/home/httpd/htdig_3.2/conf\” -I../
htfuzzy -g -O2 -Wall -fno-rtti -fno-exceptions -c -o Display.o `test -f ‘Display.cc’ || echo ‘./’`Display.cc
Collection.h:39: error: extra qualification ‘Collection::’ on member ‘Open’
Collection.h:41: error: extra qualification ‘Collection::’ on member ‘Close’
make[1]: *** [Display.o] Error 1
make[1]: Leaving directory `/usr/local/src/htdig-3.2.0b6/htsearch’
make: *** [all-recursive] Error 1
ahja, wieder die google Kugel befragt:
Hi - To work around this problem I think you will need to remove
‘Collection::’ from lines 39 and 41 of htsearch/Collection.h. It
would appear that the compiler you are using is introducing this
problem. To the best of my knowledge this ht://Dig compile error has
never been reported before. This problem hasn’t affected the many
builds I have performed with 3.x and 4.0.x GCC compilers.I believe the existing code is at best redundant and should be
cleaned up, but I am not sure that it should result in a compiler
error. My current understanding of the spec, which may well be wrong,
indicates that the code is syntactically correct.Jim
Ahja, dann nehmen wir doch mal den gcc 3.4 und siehe das es klappt, eine zweite Lösung wäre Das Rot-Fett markierte aus dem Code in htsearch/Collection.h zu entfernen:
~Collection();void Collection::Open();
void Collection::Close();
char *getWordFile() { return wordFile.get(); }
DocumentRef *getDocumentRef(int id);
ResultList *getResultList() { return matches; }
void setResultList(ResultList *list) { matches = list; }
Jemand der C / C++ erfahren ist wird aufgefallen sein das wir uns schon in Collections befinden und das eine erneute angabe von Collection hier einfach doppel gemoppelt ist.
Danke an Attila der mir das erzählt und gezeigt hat, ich bin nicht wirklich C / C++ fit
so long
Daniel