Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Opal für Linux/Unix: Unterschied zwischen den Versionen

(Hinweis zum Selber-Kompilieren)
(Ubuntu: Endlich mal aufgeräumt.)
Zeile 102: Zeile 102:
  
 
=== Ubuntu ===
 
=== Ubuntu ===
Da es anscheinend Probleme mit den Paketen von Debian unter Ubuntu 5.10 "The Breezy Badger" gibt, wird hier erstmal die Quellcode-Installation beschrieben. Die Installation muß als root ausgeführt werden.  
+
Prinzipiell könnt ihr das [http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb Paket für Debian] unter Ubuntu einsetzen. In Einzelfällen kanne es zu Problemen kommen, die ein [[Opal unter Ubuntu kompilieren|Kompilieren aus den Quellen]] erforderlich machen. Generell ist das Verwenden des Pakets vorzuziehen, da das Selbst-Kompilieren nicht immer einfach ist.
  
Da Ubuntu standardmäßig den root-Account "deaktiviert" hat, könnt Ihr mit einem vorangestellten sudo die Befehle als "root" ausführen. Wer das Anmelden als root zulassen will oder mit ''su'' sich temporär im xterm root-Rechte geben will, sollte erst [http://wiki.ubuntuusers.de/sudo dies] lesen. Wenn es das ist was Du willst und Du wirklich weißt was Du machst, ließt Du [http://wiki.ubuntuusers.de/Serverinstallation?highlight=%28root%29%7C%28account%29#head-1954963dfa5a5e3c03e86f08fddfb6c49f62f80f hier] weiter.
+
====  6.10 Edgy Eft ====
Es wird dringend abgeraten den root-Account zu aktivieren.
+
Es gibt bisher noch keine Erfahrungsberichte zum Einsatz des Pakets unter Edgy. Erfolg oder Mißerfolg bitte an [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] melden.
  
==== Benötigte Pakete ====
+
==== 6.06 Dapper Drake ====
 +
Das Paket für Debian funktioniert definitv unter Dapper Drake. Es ist dem Selbstkompilieren vorzuziehen, da es mehrere Berichte über Compiler-Inkompatibilitäten unter Dapper Drake gibt.
  
==== Breezy 5.10 ====
+
==== 5.10 Breezy Badger  ====
tk8.3-dev, libreadline4-dev, gcc, flex
+
Da es anscheinend Probleme mit den Paketen von Debian unter Ubuntu 5.10 "The Breezy Badger" gibt, ist  hier wohl eine Installationen aus den Quellen nötig. Nähere Informationen findet ihr auf der Seite [[Opal unter Ubuntu kompilieren]].
 
 
==== Dapper 6.06 ====
 
tk8.3-dev, libreadline'''5'''-dev, gcc, flex
 
  
 +
==== Paket Installation ====
 +
Es gibt zwei Möglichkeiten, dass Paket für Debian zu Installieren.
  
 +
Entweder man lädt das Paket manuell herunter und installiert es mit dpkg:
 +
<pre>
 +
wget http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb
 +
dpkg -i ocs_2.3j-1_i386.deb
 +
</pre>
  
Paketinstallation:
+
Alternativ kann man wie bei Debian das Repository  
* xterm oder Konsole öffnen
 
* Apt-get aufrufen:
 
apt-get install tk8.3-dev
 
apt-get install libreadline4-dev
 
apt-get install gcc
 
apt-get install flex
 
 
 
oder
 
 
 
apt-get install tk8.3-dev libreadline4-dev gcc flex
 
 
 
==== OCS Compilierung ====
 
Unter
 
http://uebb.cs.tu-berlin.de/opal/
 
 
 
findet Ihr die Quellen und die Dokumentation.
 
$VERSION ist die Version des Opalpakets (aktuell dürfte das 2.3j sein).
 
Wir nehmen mal an Ihr habt sie in Eurem Homeverzeichnis.
 
 
 
* cd ~/
 
* tar xvjf ocs-$VERSION-src.tar.bz2
 
* tar xvjf gunzip ocs-$VERSION-doc.tar.bz2
 
* cd /usr/src
 
* mv ~/ocs-$VERSION-src ./
 
* cd ocs
 
* ./configure
 
* make install 2>&1 > log
 
* cd /usr/local
 
* mv ~/ocs-$VERSION-doc ./
 
* ln -s /usr/local/ocs-$VERSION /usr/local/ocs
 
 
 
Es kann ein Weilchen dauern, bei mir hat es ungefähr 5-10 Minuten gedauert(Pentium M 1,6 GHz, 512 MB RAM).
 
 
 
<!--
 
Das Paket für Debian kann man auch für Ubuntu nehmen, allerdings wurde es nur mit Ubuntu 5.10 "The Breezy Badger" getestet. Es kann trotzdem sein, daß es nicht läuft. Einige haben schon Probleme gemeldet.
 
 
 
Wie bei Debian muß man das Repository  
 
 
<pre>
 
<pre>
 
deb http://opalix.freitagsrunde.org/debian-rep ./
 
deb http://opalix.freitagsrunde.org/debian-rep ./
Zeile 162: Zeile 130:
 
hinzufügen.
 
hinzufügen.
  
Entweder man macht es mit der GUI oder auf der Kommandozeile:
+
'''Per GUI''':
 
 
==== Repository per GUI hinzufügen ====
 
 
* Startleiste -> System -> Systemverwaltung -> Synaptic-Paketverwaltung starte
 
* Startleiste -> System -> Systemverwaltung -> Synaptic-Paketverwaltung starte
 
* In der Synaptic-Paketverwaltung im Menu Einstellungen -> Paketquellen
 
* In der Synaptic-Paketverwaltung im Menu Einstellungen -> Paketquellen
Zeile 170: Zeile 136:
 
* Repository-Zeilen nacheinadner eintragen und FERTIG
 
* Repository-Zeilen nacheinadner eintragen und FERTIG
  
==== Repository per Kommandozeile hinzufügen ====
+
'''Zu Fuß''':
 
* Datei /etc/apt/source.list im Editor öffnen
 
* Datei /etc/apt/source.list im Editor öffnen
 
* Repository-Zeilen (siehe oben) in die Datei eintragen und FERTIG
 
* Repository-Zeilen (siehe oben) in die Datei eintragen und FERTIG
Zeile 192: Zeile 158:
 
apt-get install gcc make libc6-dev tk8.3-dev libreadline4-dev gcc flex
 
apt-get install gcc make libc6-dev tk8.3-dev libreadline4-dev gcc flex
 
</pre>
 
</pre>
 
==== Ohne erneutes Quellcodekompilieren ====
 
 
Also hier die Variante für Ubuntu 5.10 mit dem Debian
 
Paket von Marco ohne erneutes Quellcodekompilieren:
 
<pre>
 
sudo gedit /etc/apt/sources.list
 
</pre>
 
dort diese beiden Zeilen hinzufügen:
 
<pre>
 
deb http://opalix.freitagsrunde.org/debian-rep ./
 
deb-src http://opalix.freitagsrunde.org/debian-rep ./
 
</pre>
 
dann speichern, updaten
 
<pre>
 
sudo apt-get update
 
</pre>
 
und die Pakete installieren:
 
<pre>
 
sudo apt-get install ocs
 
</pre>
 
Jetzt nur noch:
 
<pre>
 
sudo apt-get install gcc libc6-dev
 
</pre>
 
und ihr habt es geschafft.
 
 
Ach ja, alle auftretenden Fragen mit 'y' beantworten
 
und am Ende könnt ihr die beiden hinzugefügten Zeilen
 
aus der /etc/apt/sources.list wieder entfernen/ausklammen.
 
Die Pakete: tk8.3-dev, libreadline4-dev und flex werden
 
bei dieser Variante nicht benötigt.
 
<!-- hinzugefürgt von: jhscheer@cs.tu-berlin.de -->
 
  
 
=== Gentoo ===
 
=== Gentoo ===

Version vom 31. Oktober 2006, 01:33 Uhr

Hier gibt es fertige Pakete für die gängigsten Linux-Distributionen und andere Unix-Derivate. Wenn ihr Linux verwenden wollt und falls ihr Linux noch nicht auf eurem Rechner installiert habt, könnt ihr einfach Opalix verwenden, es liefert euch eine komplette Linuxumgebung, ohne es dauerhaft installieren zu müssen.

Falls ihr eine Distribution einsetzt, die hier nicht aufgeführt ist, und gerne ein Paket kompilieren würdet, euch aber nicht so ganz sicher seid, wie das geht, dann wendet euch an opalix@freitagsrunde.org. Wir helfen euch gerne!

Allerdings muss man leider auch anmerken, dass der Opal-Buildprozess sehr schlecht organisiert ist. So wird z.B. nicht zwischen Kompilation- und Installationsphase unterschieden und die generierten Scripte unterstützen DESTDIR nicht, was aber eigentlich eine zwingende Voraussetzung für ein vernünftiges Packaging in den Distributionen ist. Diese Probleme machen es nicht einfach, Pakete zu erstellen.

Linux

Hinweis zum Selber-Kompilieren

Mit aktuellen gcc/glibc-Versionen (>=4.0) kompiliert OPAL nicht mehr, da eine obsolete Funktion entfernt wurde. Dirk Reckmann und Stephan Frank (ÜBB Gruppe), haben uns einen Patch zum Übersetzen des OCS mit gcc 4.1 zur Verfügung gestellt. Diesen könnt ihr einfach einspielen durch:

cd <OPAL_UNPACK_DIRECTORY>/ocs
wget http://opalix.freitagsrunde.org/rpm/patches/CLK_TCK.patch
patch -p0 < CLK_TCK.patch

SuSE

Das Paket installiert OPAL nach /opt/ocs. Damit ihr oasys und ocs benutzen könnt, müsst ihr die folgende Zeile in die Datei $HOME/.bashrc eintragen:

   export PATH=/opt/ocs/bin:$PATH 

SuSE 10.1

Die aktuelle Version (2.3j) von Opal.


SuSE 10.0

Die aktuelle Version (2.3j) von Opal.

Alte Versionen

Zusätzlich zu den Paketen für aktuelle SuSE Versionen gibt es auch noch Pakete für ältere Versionen auf dem Server.


Bekannte Probleme/Lösungen

C Compiler fehlt

Symptom: Ihr erhaltet eine Fehlermeldung, die ungefähr so aussieht:

checking Binom.sign
checking Binom.impl
compiling Binom.impl
/opt/ocs/lib/oasys/ccompiler: line 17: /usr/local/bin/gcc: No such file or directory
/opt/ocs/lib/oasys/ccompiler: line 17: exec: /usr/local/bin/gcc: cannot execute: No such file or directory
ERROR [C compiler]: /opt/ocs/lib/oasys/ccompiler exited abnormally
aborted

Auf einigen neueren Systemen (Ubuntu 5.10, SuSE 10.0) kommt es zu noch nicht genau geklärten Problemen von OCS mit der Gnu Compiler Collection (gcc). OCS benötigt den C Compiler und kann ihn nicht finden, so dass es zu diesem Fehler kommt. Wir haben noch nicht herausgefunden, woher der Fehler genau rührt, da er nicht auf allen Systemen reproduzierbar ist, aber es gibt einen Workaround.

Lösung/Workaround: Das Paket gcc installieren. Eventuell muss noch ein Symlink gesetzt werden, damit Opal den Compiler auch findet.

 ln -s `which gcc` /usr/local/bin/gcc # als root

Fedora

Das Paket installiert OPAL nach /opt/ocs, damit ihr an der Shell die Kommandos benutzen könnt, müsst ihr die folgende Zeile in eure .bashrc eintragen:

   export PATH=/opt/ocs/bin:$PATH 

Fedora Core 4

Ein Paket für Fedora Core 4 ist in Vorbereitung.

Ich konnte keine Pakete bauen, da OCS sich nicht an die autoconf-Vorgaben hält. --Felix 16:48, 27. Okt 2005 (CEST)

Fedora Core 3

Für Fedora Core 3 haben wir dank Christoph Höger ein Package der aktuellen Version 2.3j. Vielen Dank, Christoph!

Andere RPM-basierte Distributionen

Wenn Ihr Opal auf einer anderen RPM-basierten Distribution neukompilieren wollt, könnt Ihr das SRPM-Paket benutzen. Einfach an der Shell

   rpmbuild --rebuild --target i386 opal-2.3j-1.src.rpm 

ausführen. Ihr benötigt dabei die Pakete tcl-devel, tk-devel, xfree86-devel, flex und readline-devel. Wenn ihr neue Pakete baut, wäre es nett, wenn ihr sie hier anderen zur Verfügung stellt. Sagt einfach unter opalix@freitagsrunde.org Bescheid, wo sie zu finden sind.

Alternativ könnt ihr auch das Paket komplett neu aus den Sourcen erstellen. Dazu benötigt ihr das so genannte spec-file. Falls ihr Fragen habt, wie ihr damit ein Paket kompiliert, wendet euch einfach an opalix@freitagsrunde.org

Debian

Das Paket für Debian enthält die aktuelle Version 2.3j. Es gibt ein apt-get Repository, das man mit folgenden Zeilen in der Datei /etc/apt/sources.list einstellen kann:

deb http://opalix.freitagsrunde.org/debian-rep ./
deb-src http://opalix.freitagsrunde.org/debian-rep ./

Das Package heißt ocs und lässt sich mit

sudo apt-get install ocs

installieren. Vielen Dank an Marco Ziech für seine Zeit und Mühe, das Paket und Repository zu erstellen!

Ubuntu

Prinzipiell könnt ihr das Paket für Debian unter Ubuntu einsetzen. In Einzelfällen kanne es zu Problemen kommen, die ein Kompilieren aus den Quellen erforderlich machen. Generell ist das Verwenden des Pakets vorzuziehen, da das Selbst-Kompilieren nicht immer einfach ist.

6.10 Edgy Eft

Es gibt bisher noch keine Erfahrungsberichte zum Einsatz des Pakets unter Edgy. Erfolg oder Mißerfolg bitte an opalix@freitagsrunde.org melden.

6.06 Dapper Drake

Das Paket für Debian funktioniert definitv unter Dapper Drake. Es ist dem Selbstkompilieren vorzuziehen, da es mehrere Berichte über Compiler-Inkompatibilitäten unter Dapper Drake gibt.

5.10 Breezy Badger

Da es anscheinend Probleme mit den Paketen von Debian unter Ubuntu 5.10 "The Breezy Badger" gibt, ist hier wohl eine Installationen aus den Quellen nötig. Nähere Informationen findet ihr auf der Seite Opal unter Ubuntu kompilieren.

Paket Installation

Es gibt zwei Möglichkeiten, dass Paket für Debian zu Installieren.

Entweder man lädt das Paket manuell herunter und installiert es mit dpkg:

wget http://opalix.freitagsrunde.org/debian-rep/ocs_2.3j-1_i386.deb
dpkg -i ocs_2.3j-1_i386.deb

Alternativ kann man wie bei Debian das Repository

deb http://opalix.freitagsrunde.org/debian-rep ./
deb-src http://opalix.freitagsrunde.org/debian-rep ./

hinzufügen.

Per GUI:

  • Startleiste -> System -> Systemverwaltung -> Synaptic-Paketverwaltung starte
  • In der Synaptic-Paketverwaltung im Menu Einstellungen -> Paketquellen
  • Im Paketquellen-Fenster auf hinzufügen und benutzerdefiniert anklicken
  • Repository-Zeilen nacheinadner eintragen und FERTIG

Zu Fuß:

  • Datei /etc/apt/source.list im Editor öffnen
  • Repository-Zeilen (siehe oben) in die Datei eintragen und FERTIG

Nach diesem Prozedere muß Opal noch installiert werden:

user@ubuntulinux > sudo apt-get install ocs 

Vielleicht muß vorher noch ein apt-get update gemacht werden:

user@ubuntulinux > sudo apt-get update 

-->

FERTIG.

Bei Problemen

Wenn es Probleme gibt, stellt sicher, dass zur Funktion notwendige Pakete installiert sind, mit folgendem Befehl:

apt-get install gcc make libc6-dev tk8.3-dev libreadline4-dev gcc flex

Gentoo

Ebuilds von Opal und der Opal-Dokumentation finden sich unter [1].

(Alternativ gibt es im Gentoo-Bugzilla ein anderes Ebuild für den Opal-Compiler. Dieser Link zeigt euch, wie man es installiert.)

Hinweis: Keines der Gentoo Ebuilds funktioniert im Moment, da das Opal-Makesystem die Sandbox verletzt.


Hinweise zur Installation des Opal-Ebuilds

Hierbei muss das Gentoo-System angepasst werden.

Innerhalb von /etc/make.conf ist der Eintrag der PORTDIR_OVERLAY-Variable nötig. Dafür ist ein eigenes Verzeichnis zu erstellen (im Allgemeinen und im Weiteren /usr/local/portage) und der Variable zuzuordnen:

mkdir -m 755 /usr/local/portage
echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf

Unterhalb des Verzeichnisses /usr/local/portage das Verzeichnis dev-lang und darin die Verzeichnisse opal und opaldoc anlegen und dann in diese beiden Verzeichnisse die nötigen Ebuilds kopieren:

mkdir -m 755 /usr/local/portage/dev-lang{,/opal,/opaldoc}
cp opal-2.3i.ebuild /usr/local/portage/dev-lang/opal/
cp opaldoc-2.3i.ebuild /usr/local/portage/dev-lang/opaldoc/

Da beide Ebuilds maskiert sind, sind an dieser Stelle eventuell noch weitere Schritte nötig; die Installation maskierter Ebuilds ist hier sehr gut erklärt: Maskierte Ebuilds.

Jetzt einfach:

emerge opal opaldoc

Um die neue Version von Opal (2.3j), die auch mit den neuen binutils klarkommt, zu emergen, sind folgende Schritte nötig:

cd /usr/local/portage/dev-lang/opal/
cp opal-2.3i.ebuild opal-2.3j.ebuild
ebuild opal-2.3j.ebuild digest
emerge opal

FreeBSD

Für all die, die OCS und Opal unter FreeBSD kompilieren wollen, gibt es eine kurze Anleitung unter: [2]; fertige Packages für 5.3-RELEASE werden bei größerer Nachfrage erstellt.