[[Getestet(edgy)]] [[Fortgeschritten]] {{{#!Wissen * [1]: [:Pakete installieren: Installation von Programmen] * [2]: [:Paketquellen freischalten: Bearbeiten von Paketquellen] * [3]: [:Terminal: Ein Terminal öffnen] * [4]: [:Editor: Einen Editor öffnen] * [5]: [:Programme kompilieren: Pakete aus dem Quellcode erstellen] * [6]: [:Paketinstallation_DEB: Ein einzelnes Paket installieren] * [7]: [:Packprogramme: Archive entpacken] }}} Dies ist eine Quick'n'Dirty-Anleitung, wie man unter Ubuntu 6.10 Edgy Eft Pakete für die Programmiersprache Erlang erzeugen kann, die korrekt mit dem [:ejabberd:]-[:Jabber:]-Server funktionieren. = Vorbereitung = Als erstes braucht man neben denen unter [5] genannten Paketen (Debian-Methode) eine Reihe weitere Entwickler-Pakete inkl. Abhängigkeiten [1]: * '''automake1.9''' * '''debhelper''' * '''dpatch''' * '''libncurses5-dev''' * '''libssl-dev''' * '''unixodbc-dev''' Diese kann man hinterher allesamt wieder deinstallieren, wenn man möchte. Insbesondere auf einem Server ohne grafische Oberfläche bietet sich an, zumindest das Paket '''unixodbc-dev''' inkl. der davon abhängigen zahlreichen X11-Bibliotheken wieder zu entfernen. Außerdem benötigt man noch die Pakete * '''openssl''' * '''unixodbc''' die man auch für den späteren Betrieb des Servers benötigt und nicht entfernen darf. = Paketbau = Als erstes benötigt man das Quellpaket von '''erlang'''. Dafür müssen die Quellpakete '''deb-src''' für die Sektion ''universe'' freigeschaltet sein [2]. Mittels [3] {{{#!Befehl apt-get source erlang }}} lädt man sich Quellcode herunter. Dann entpackt man das Verzeichnis [7], wechselt in den Ordner '''erlang-11.b.1''' und passt dort die Datei '''debian/rules''' an [4], indem man die Zeile 39 wie folgt abändert: {{{#!Text CFLAGS=-g -O2 -fno-stack-protector }}} Anschließend benutzt man folgenden einzelnen Befehl um alles zu kompilieren [5] und die Pakete zu erzeugen: {{{#!Befehl dpkg-buildpackage -rfakeroot }}} Das kann auf einem etwas älteren Rechner schnell mal mehrere Stunden dauern. = Installation = Wenn kein Fehler aufgetreten ist, befinden sich jetzt im übergeordneten Verzeichnis eine Reihe Deb-Pakete, von denen man aber nur zwei benötigt: * '''erlang-base_11.b.1-1_i386.deb''' * '''erlang-nox_11.b.1-1_all.deb''' Diese müssen jetzt installiert [6] und gegen versehentliches Überschreiben aus den Paketquellen geschützt werden, indem ihr Status auf ''hold'' gesetzt wird, je nach verwendetem Apt-Frontend über [:Paketverwaltung#Apt-Pinning:Apt-Pinning] oder über {{{#!Befehl sudo aptitude hold erlang-base erlang-nox }}} Jetzt kann man ganz normal das Paket * '''ejabberd''', (''universe'', [2]) über die Paketverwaltung installieren. Die Konfiguration und der Betrieb wird dann im Artikel [:ejabberd:] beschrieben. = Links = * [https://launchpad.net/ubuntu/+source/erlang/+bug/68163 Bugreport auf Launchpad] {en}