De:GNUInstall

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Flag-england.gif 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.

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:

  1. YaCy sollte mit ECJ kompiliert werden.
  2. 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.

Auswahl verschiedener Java-VMs mit galternatives

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.

Icon work.png TODO: Muss ein eventuell gesetztes JAVA_HOME mit "unset JAVA_HOME" widerrufen 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

Icon work small.png We need a developer version of this page. Create it, and replace this template by the approriate interwiki template.