De:GNUInstall
There is an english version of this page.
YaCy benötigt ein Java Runtime Environment zum Laufen. Da YaCy von vornherein nur unter der Sun JRE betrieben wurde, funktioniert es damit am Besten. Jedoch wurden jetzt Anstrengungen unternommen, YaCy auch auf freien anderen JVMs laufen zu lassen.
Inhaltsverzeichnis
YaCy mit Kaffe
- YaCy startet
- Netzwerkfunktionen scheinen nicht vollständig / kompatibel implementiert, siehe Forumsbeitrag
YaCy mit GCJ
Um mit gcj zu kompilieren reicht es, wenn man ant mit der Option "-Dbuild.compiler=gcj" startet oder eine ant.properties Datei im Heimatverzeichnis anlegt und die Zeile "build.compiler=gcj" darin ablegt. Unter Debian GNU/Linux, Ubuntu & Fedora Core reicht es keine proprietäre Runtime installiert zu haben.
YaCy mit GIJ
- YaCy startet und läuft
- Nach ca. zwei Stunden OutOfMemory (TODO)
Anleitung
Damit YaCy unter GNUs Java Virtual Machine läuft, sind 2 Vorraussetzungen zu erfüllen:
- YaCy sollte mit ECJ kompiliert werden.
- YaCy benötigt Ant zum Kompilieren.
Installation von ECJ
Für ECJ gibt es von den meisten Distributionen schon vorkompilierte Pakete, deren Installation kaum Anforderungen an das Hostsystem stellt.
Installation von Ant
Die Installations-Anleitung für Ant ist auf der o.g. Webseite recht gut dokumentiert und vorkompilierte Pakete sollten auch zu diesem Programm existieren, sodass lediglich die Konfiguration noch etwas Handarbeit erfordert, wenn es denn mit GIJ zusammenarbeiten soll.
Debian
Unter Debian und Debianderivaten wie Ubuntu werden verschiedene JavaVMs durch das "alternatives" System verwaltet. Die gewünschte Variante wählt man mit "update-alternatives", oder grafisch mit "galternatives" aus.
YaCy Initscript ändern
Um nur für YaCy die VM zu ändern, kann man im Initscript ab Version 0.38 oder SVN 2696 im Initscript die Zeile
JAVA="`which java`"
z.B. durch
JAVA="/usr/bin/gij"
ersetzen. In allen Version davor, muss jedes auftreten des "java" befehls durch den Namen der Alternativen VM ersetzt werden.
Installation von YaCy
Durch eine noch nicht geklärte Inkonsistenz zwischen Suns JRE 1.4.2 und GIJ wird die Funktion, die YaCy zum Testen ob eine ausreichend hohe Java-Version benutzt wird, nicht richtig ausgeführt. Um ein vorschnelles, forciertes Beenden YaCys zu verhindern, wird kurzerhand die Zeile System.exit(-1);
mit vorangestelltem //
auskommentiert. Diese Zeile befindet sich in der Datei source/yacy.java in der Funktion private static void startup(String homePath, long startupMemFree, long startupMemTotal)
.
Sind beide Tools installiert und funktionieren einwandfrei, so kann die Kompilation YaCys durchgeführt werden. Dies geschieht durch folgenden Befehl im YaCy-Programmverzeichnis:
ant compileMain
Da GIJ eine andere Kommandozeilen-Parametersyntax erwartet als die JRE von Sun, muss (vorerst) der Startbefehl von Hand eingegeben werden. Dazu bestätigt man im YaCy-Verzeichnis:
gij --mx=128m -cp classes:.:lib/commons-collections.jar:lib/commons-pool-1.2.jar:lib/svnRevNr.jar yacy
YaCy mit JamVM
bisher kein Fortschritt
YaCy mit Cacao
bisher kein Fortschritt
We need a developer version of this page. Create it, and replace this template by the approriate interwiki template.