Entropy Logo

Kompilieren

[Home]
[Einführung]
[Schnappschüsse]
[Downloads]
[CVS]
[Kompilieren]
[HOWTO]
[Anwendungen]
[P2P]
[Mc Eliece]
[Entropy]

[en][English]

Obwohl sich Entropy aus denselben Quellen sowohl auf Unix-Systemen als auch unter Windows übersetzen lässt, sind die Beschreibungen dennoch getrennt.

Die meisten Windows Nutzer werden zunächst eine Entwicklungsumgebung (CYGWIN) installieren müssen, während der Linux oder *BSD Nutzer den GNU C Kompiler meist schon installiert hat.


Macintosh OS X

Das Macintosh OS X ist sehr ähnlich den *BSD Unices, daher gilt weitgehend die Anleitung für Unix. Alles, was man änder muß ist eine Zeile im Makefile. Dort steht in der ausgelieferten Version

ARCH=X86

und darunter ist eine Zeile auskommentiert ARCH=PPC

. Man setzt einfach den Kommentar "#" vor die erste der beiden Zeilen und entfernt ihn vor der zweiten. Dadurch werden einige compile time switches umgesetzt, die auf die abweichende PPC Architektur Rücksicht nehmen.


Zurück zur Übersicht

Unix (Linux, *BSD, ...)

Neben dem C Compiler und der libc (getestet nur mit GNU gcc) werden folgende Libraries benötigt:

  1. Zlib, ZIP Kompression z.B. von http://www.gzip.org/zlib/
    Sie sollte aber auf fast jedem System schon vorhanden sein. Der Makefile erwartet den Header "zlib.h" in /usr/include oder /usr/local/include sowie die statische Library libz.a in /usr/lib oder /usr/local/lib (dynamisches Linken wird ebenfalls unterstützt).
  2. Expat, XML Parser z.B. von http://expat.sourceforge.net
    Ich arbeite mit der Version 1.95.4, wichtig ist aber nur, dass die libexpat.a entweder in /usr/lib oder /usr/local/lib zu finden ist und die Header-Datei "expat.h" entweder in /usr/include oder /usr/local/include. Auch hier kann gegen die libexpat.XXX.so dynamisch gelinkt werden.

Sind dieses Libraries noch nicht installiert, muss man sie zunächst laut Anleitung (README) übersetzen und installieren.

ENTROPY selbst kommt (noch) nicht mit automake (also ohne ./configure script). Es müsste aber auf den *BSD und auf Linux out of the box zu übersetzen sein, nachdem die benötigten Libraries installiert sind.

Das TAR Archiv wird ausgepackt mit

tar xzf entropy-0.9.1-439.tgz

Dabei die aktuelle Versions und Build Nummer verwenden. Danach geht man in das erstellte Unterverzeichnis mit

cd entropy-x.y.z (wobei x.y.z die Versionsnummer ist)

und gibt dort

make (oder gmake für GNU make)

ein.

Danach dann die Datei entropy.conf-dist kopieren mit

cp entropy.conf-dist entropy.conf

und diese Kopie anpassen. Dort muss zumindest der Domainname des neuen Nodes eingetragen werden (oder die IP Adresse). Kein Domainname vorhanden? Dann vielleicht mal bei dyndns.org, oder dhs.org, oder fnds.net vorbeischauen und einen Namen registrieren.

Auch die ausgelieferte seed.txt-dist Datei muss geändert werden, also

cp seed.txt-dist seed.txt

und wenigstens einen bekannten Node eintragen bzw. bei einer Zeile mit den Beispielen den Kommentar (das # Zeichen) entfernen.

Tip: es laufen öfters mal Nodes auf entropy.stan4d.net:37373, 139.30.40.35:37373 und tuxx.homeip.net:37373 - weitere kommen hoffentlich bald mal dazu.

Nun kann man den Node starten mit ./entropy und sollte einige Meldungen sehen, die Pfadnamen der verschiedenen Dateien anzeigen. Wenn der Aufruf von ./entropy zur Kommandozeile zurückkehrt, sollten mindestens fünf Prozesse mit dem Namen entropy laufen. Dazu einfach einmal ps|grep entropy eingeben und die verschiedenen PIDs (Prozess-IDs) ansehen. Diese Prozesse sind die in den technischen Details beschriebenen Unterprozesse eines Node für store, client, proxy, peer Handling usw. Derjenige Entropy-Prozess, der für den store zuständig ist, kann dabei je nach Größe des Datastore einige Megabytes Speicher belegen.

Es sollte sich auf http://127.0.0.1:9999/ jetzt der Entropy Gateway melden. Dort ist auch eine Node Status Seite abrufbar, aus der zu sehen ist, ob und welche Peer Verbindungen schon aufgebaut sind. Es werden auch Statistiken zu den übertragenen Messages und Datenmengen sowie Datenraten angezeigt.

Nun kann man versuchen, einige der Inhalte einmal abzurufen.


Zurück zur Übersicht

Windows

Vorab benötigte Downloads

Benötigt wird eine CYGWIN Umgebung, die man am einfachsten zusammenstellt, indem man z.B. von ftp://ftp.inf.tu-dresden.de/software/windows/cygwin32/ die Dateien setup.exe und setup.ini herunterlädt.

Nach dem Start von setup.exe kommen nun einige Fragen zur Installationsquelle. Wer die Dateien nur genau einmal installieren will, sollte Install from Internet wählen. Es schadet aber nicht, zunächst Download from Internet zu wählen und die Dateien dann später mit Download from local directory zu installieren. Die anderen Fragen kann man bei den Default-Optionen belassen. Lediglich einen Proxy muss man angeben, wenn man keine direkte Internetverbindung hat (z.B. wegen einer Firewall).

Dann wählt man z.B. die hier vorgschlagenen Pakete zusätzlich aus, zusätzlich zu den von Setup vorausgewählten (Da neuere Versionen von CYGWIN die Expat Bibliothek mitliefern, beötigt man wahrscheinlich nicht alle Pakete. Ich habe aber nicht getestet, welche man nicht braucht):

  • Archive
    unzip, zip
  • Base
    bash, cygwin, diff, fileutils, gawk, grep, gzip, login, sed, tar, terminfo, textutils, zlib
  • Devel
    autoconf, automake, binutils, cvs, expat, gcc, libintl, libintl1, make, mktemp
  • Editors
    vim
  • Interpreters
    gawk, m4, perl
  • Lib
    libintl1
  • Libs
    ncurses, openssl, popt, termcap, w32api, zlib
  • Net
    inetutils, openssh, openssl, rsync
  • Shells
    bash, sh-utils
  • Text
    less
  • Utils
    bzip2, cygutils, time
  • Web
    lynx, wget

Dabei genügt es, nur einmal auf die jeweiligen Pakete, die noch auf skip stehen, zu clicken. Dann wird die jeweilige aktuelle Versionsnummer des Pakets angezeigt, die heruntergeladen werden soll. Manchmal wird auch 0.0 oder werden mehrere Nummern angezeigt, was aber belanglos ist. Ein Download der Quellen ist ebenfalls nicht nötig, schadet aber auch wieder nicht, ausser vielleicht dem Platz auf der Festplatte :-)

Der Rest der Installation sollte dann wie von selbst ablaufen. Wenn man zunächst nur Download from internet gewählt hatte, startet man das setup.exe nochmals und wählt dann diesmal Install from local directory. Dabei kann man die Defaults wählen

Abholen des aktuellen Sourcecodes für Entropy vom CVS Server

Wenn stop1984.com erreichbar ist (was meist der Fall ist), kann man sich nun mit folgendem Kommando einmalig anmelden:

cvs -d :pserver:anonymous@stop1984.com:/home/cvs login

Die Frage nach dem Kennwort beantwortet man mit der Eingabetaste. Danach gibt man (ebenfalls nur dieses eine Mal) das checkout Kommando für cvs an mit:

cvs -z2 -d :pserver:anonymous@stop1984.com:/home/cvs co entropy

Nun sollten die Sourcen heruntergeladen werden und danach kann man in das neue Verzeichnis wechseln mit:

cd entropy
Auch bei diesem Projekt gibt es kein configure, es lässt sich auf Linux, FreeBSD und mit CYGWIN ohne Änderungen übersetzen. Ein einfaches

make

ist schon alles, was nötig ist. Danach sollte bei ls -l entropy.exe das selbst compilierte Entropy Binary zu sehen sein. Wenn ja, dann Herzlichen Glückwunsch! zum ersten selbsgebauten CYGWIN Programm.

Wenn nein, dann hilft wohl nur eine nochmalige Überprüfung der oben genannten Schritte, oder -- wenn alles fehlschlägt -- ein Besuch im Entropy Forum oder im Falle der totalen Verzweiflung eine E-Mail an mich weiter.

Nun kopiert man, wie auch in den Anleitungen für die Unix Systeme angegeben, einmal die entropy.conf-dist und seed.txt-dist Dateien mit:

cp entropy.conf-dist entropy.conf

cp seed.txt-dist seed.txt

Wer den vi Editor nicht kennt, sollte wohl besser mit Notepad die beiden kopierten Dateien bearbeiten. Sie sind von Windows aus unter C:\CYGWIN\HOME\UNKNOWN\... im entropy Unterverzeichnis zu finden.

Zuletzt startet man den Entropy Node mit

./run.sh

und kann ihn später bei Bedarf dann mit

./stop.sh

wieder beenden. Man kann auch entropy.exe von einer DOS Umgebung starten (command.com oder cmd.exe), muss dazu aber die cygwin1.dll, die cygz0.dll und die cygexpat0.dll im Pfad (oder im Entropy Verzeichnis) haben.

Künftige Updates von Entropy

Dieser Teil ist nun, nach der vorherigen -- aber nur einmaligen(!) -- Installation immer sehr einfach. Man startet die CYGWIN Shell wieder (bzw. beendet einen im Hintergrund laufenden Entropy Node mit ./stop.sh), geht in das entropy Verzeichnis (mit cd entropy) und gibt folgendes CVS Kommando:

cvs -z2 up -dAP

Danach sollte man ein

make clean

machen um sicher zu gehen, dass alle eventuellen Änderungen berücksichtig werden (obwohl die im Makefile hinterlegten Abhängigkeitsprüungen ausreichen sollten). Mit make clean werden die alten compilierten Dateien zuerst gelöscht. Danach dann, wie beim ersten Mal, wieder:

make

und die neu compilierte Verion mit

./run.sh

wieder starten.

Das ist schon alles!


Zurück zur Übersicht

Entropy Forum - Entropy Chat - Entropy Homepage (WWW)