swish-e auf der DS210j compilieren

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Anna_Konda

Benutzer
Registriert
01. Sep. 2010
Beiträge
129
Reaktionspunkte
0
Punkte
22
Hallo,

ich versuche swish-e direkt auf der DS210j zu compileren, aber ich bekomme beim 'make' folgenden Fehler:

====================================
...
gcc -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -O
2 -o .libs/swish-e swish.o keychar_out.o dump.o result_output.o ./.libs/libswis
hindex.a ./.libs/libswish-e.so -lz -lm -Wl,--rpath -Wl,/opt/lib
./.libs/libswishindex.a(xml.o): In function `countwords_XML':
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:123: undefined reference to `XML_ParserCreate'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:159: undefined reference to `XML_SetUserData'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:160: undefined reference to `XML_SetElementHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:161: undefined reference to `XML_SetCharacterDataHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:168: undefined reference to `XML_Parse'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:174: undefined reference to `XML_ParserFree'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:164: undefined reference to `XML_SetCommentHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:168: undefined reference to `XML_Parse'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_GetCurrentLineNumber'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_GetErrorCode'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_ErrorString'
collect2: ld returned 1 exit status
make[3]: *** [swish-e] Error 1
make[3]: Leaving directory `/volume1/Main/swish-e/swish-e-2.4.7/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/volume1/Main/swish-e/swish-e-2.4.7/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/volume1/Main/swish-e/swish-e-2.4.7/src'
make: *** [all-recursive] Error 1
======================================================

libxml2 und expat sind installiert.
ich habe zuvor ein
./configure --prefix=/opt
durchgeführt.

Hat jemand vielleicht eine Idee, was da schief läuft?
Andere sourcen wie mp3wrap und faac konnte ich z.B. problemlos compilieren.

Danke für die Antworten,
Anna
 
Könnte es sein, dass es für die xml Geschichte einen eigenen Parameter bei ./configure gibt? Mal in der offiziellen Doku des Projekts gesucht?
Und die libxml und expat sind auch sicher irgendwo in /opt?
Unter http://swish-e.org/docs/install.html#installing_without_root_access ist ein Beispiel mit erweiterten Flags bei configure
Und sonst auf goetz warten, der ist ein wandelnder Compiler ;)
 
Hallo,
so dolle ist dann aber auch nicht:o.
Auf der DS-106 (ppc) lief es sofort durch. Auf der 107+ maulte configure rum cpp sei nicht "sane", lag an der fehlenden syslimits.h, einfach per touch eine leere angelegt und schon geht es.
Mit Deiner XML config scheint etwas noch nicht zu stimmen. Der entsprechende gcc-Aufruf sieht bei mir so aus
Rich (BBCode):
gcc -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -o .libs/swish-e swish.o keycha
r_out.o dump.o result_output.o  ./.libs/libswishindex.a -L/opt/lib -lxml2 ./.libs/libswish-e.so -lz -lm -Wl,--rpa
th -Wl,/opt/lib
Du kannst ja mal versuchen in src den obigen Befehl abzusetzen und danach make nochmal anwerfen.

Gruß Götz
 
Hallo Götz,

danke für den Tipp, aber leider bekomme ich bei dem Compileraufruf wieder die gleiche Fehlermeldung.
Irgendwie scheint meine compiler-umgebung nicht komplett oder durcheinander.
Ich bekomme z.B. immer die Meldung eines fehlenden 'tr', woher bekomme ich das?
Rich (BBCode):
../libtool: line 453: tr: not found
./.libs/libswishindex.a(xml.o): In function `countwords_XML':
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:123: undefined reference to `XML_ParserCreate'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:159: undefined reference to `XML_SetUserData'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:160: undefined reference to `XML_SetElementHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:161: undefined reference to `XML_SetCharacterDataHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:168: undefined reference to `XML_Parse'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:174: undefined reference to `XML_ParserFree'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:164: undefined reference to `XML_SetCommentHandler'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:168: undefined reference to `XML_Parse'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_GetCurrentLineNumber'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_GetErrorCode'
/volume1/Main/swish-e/swish-e-2.4.7/src/xml.c:169: undefined reference to `XML_ErrorString'
collect2: ld returned 1 exit status
make[3]: *** [swish-e] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

Ich habe libxml2 über das Paket neon installiert, ist das okay?
Könnte es an weiteren fehlenden Paketen liegen?
Über weitere Tipps würde ich mich freuen.
Viele Grüße,
Anna
 
Hallo,
tr ist Bestandteil von coreutils. ipkg list_installed gibt Dir Auskunft über alle installierten Pakete und deren Versionsnummern. ipkg upgrade bringt alle Pakete auf den aktuellen Stand. ipkg install coreutils wäre erst mal der Anfang.

Gruß Götz
 
Hallo Götz,

danke für den Tipp, coreutils hatten wirklich gefehlt, das 'tr'-Problem ist weg.
leider nicht das XML-Problem (wie oben)

mit xml2-config bekomme ich:

DiskStation> xml2-config --libs
-L/opt/lib -lxml2 -lz -lm
DiskStation> xml2-config --cflags
-I/opt/include/libxml2
DiskStation> xml2-config --version
2.7.7

Passt das so? Hast Du vielleicht noch eine Idee?
Nochmals Danke & Grüße
Anna
 
Hallo,
das sollte so passen, bekomme die gleiche Ausgabe.
Ich würde noch mal von vorne anfangen also
Rich (BBCode):
make clean
./configure --prefix=/opt
make
dabei die Ausgaben von configure beobachten bzw. die config.log nach xml durchsuchen.

Gruß Götz
 
Hallo Goetz,

habe nochmal ganz von vorne angefangen - dann hat es geklappt. Lag also allein an den coreutils.
Vielen Dank.
Anna
 
Was macht swich-e denn eigentlich so? Kann das mal jemand kurz erklären?

Itari
 
Hallo,
swich-e Homepage
Swish-e is a fast, flexible, and free open source system for indexing collections of Web pages or other files. Swish-e is ideally suited for collections of a million documents or smaller. Using the GNOME™ libxml2 parser and a collection of filters, Swish-e can index plain text, e-mail, PDF, HTML, XML, Microsoft® Word/PowerPoint/Excel and just about any file that can be converted to XML or HTML text. Swish-e is also often used to supplement databases like the MySQL® DBMS for very fast full-text searching.

Gruß Götz
 
Hallo,

ich denke wenn ich ein Demo-Setup habe, werde ich das mal veröffentlichen.
Meine Vorstellung ist es, den Index Nachts aktualisieren zu lassen um dann schnelle Volltextsuchen auf dem NAS durchführen zu lassen.
Ich habe aus der Vergangenheit schon ein paar rudimentäre Erfahrungen mit swish-e.
Anna
 
Meine Frage ist jetzt schon halb beantwortet. Trotzdem noch einmal nachgehakt: Ist das also sowas wie ein Toolset, das eine Datenbank füllt? Oder hat das Teil eine eigene GUI wie Google?

Itari
 
Hallo Itari,

swish-e ist ein Kommandozeilen-tool.
Es erzeugt zum einen einen Volltextindex in einer Datei, zum anderen kann man es in der Kommandozeile auch zum Suchen verwenden.
Für letzteres nimmt man besser eine Gui, z.B ein cgi-skript (siehe auch hier ) oder auch ein
kompiliertes Executable. Letzteres habe ich schon unter windows benutzt.
Mein erster und einfachster Ansatz wäre, swish-e auf der DS zu benutzen, den Index zu erzeugen, und unter windows die Suchabfragen durchzuführen.

Am coolsten wäre es sicherlich, es in das DS-Interface zu intergieren - und bestimmt auch nicht sonderlich aufwändig, habe ich nur noch nie gemacht.
Das werde ich, wenn ich nicht was besseres finde, bestimmt wal versuchen.
Will vielleicht jemand mithelfen? ;)

Ein kleiner Stoplerstein sind noch die Dateifilter - die muss man swish-e erst noch beibringen. Z. B. für Word als filter Antiword usw. Da habe ich Erfahrung, da sollte ich was hinbekommen. Als standard versteht swish-e zunächst mal Text und HTML.

Anna
 
Hi Anna,

danke für die Erklärungen. Jetzt hab ich es verstanden.

Itari
 
@Anna_Konda
Und ich fordere mit Nachdruck einen Wikibeitrag bzw ein kleines HowTo dazu (wenn denn mal alles läuft) ;)
Das hört sich wirklich sehr interessant an

Gruss

tobi
 
Hallo,

ich bastle gerade mal wieder an der swish-e-Baustelle.
Ich würde gerne ein PHP Modul installieren wie hier http://devzone.zend.com/article/11335 beschrieben.

Ich bin bei dem Teil:
shell> tar -xzvf swish-0.4.0.tar-gz
shell> cd swish-0.4.0
shell> phpize
shell> ./configure
shell> make
shell> make install

allerdings habe ich kein phpize. kann ist das installieren, ohne mein orginal php abzuschießen, oder wie geht das?

Viele Grüße,
Anna
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat