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

(Debian)
K (typo)
 
(84 dazwischenliegende Versionen von 44 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
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.  
 
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 [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org]. Wir helfen euch gerne!
+
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 <email>opalix@freitagsrunde.org</email>. 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.
+
Allerdings muss man leider auch anmerken, dass der Opal-Buildprozess sehr schlecht organisiert ist. So wird z.B. nicht zwischen Kompilations- 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: Pünktlich zum Wintersemester 2011/2012 erschien die Opal Version 2.4, die neben einigen Bugfixes unter anderem expliziten Support für MacOS X bringt. Wir (die Opal-Maintainer) raten aus diesem Grund dringend von der Installation älterer Versionen ab. Wenn ihr hier keine aktuellen Opal-Pakete für eure Distribution findet, zieht bitte die Installation aus den Quellen den alten Paketen vor.''' -- Martin
  
=== SuSE ===
+
= Hinweis zum Selber-Kompilieren =
Das Paket installiert OPAL nach <code>/opt/ocs</code>. Damit ihr <code>oasys</code> und <code>ocs</code> benutzen könnt, müsst ihr die folgende Zeile in die Datei <code>$HOME/.bashrc</code> eintragen:
 
  
    export PATH=/opt/ocs/bin:$PATH
+
Die Grundlegende Vorgehensweise zur Installation von Opal aus den Quellen ist [https://projects.uebb.tu-berlin.de/opal/trac/wiki/InstallationGerman hier] zu finden.
  
==== SuSE 10.1 ====
+
= Arch Linux =
Die aktuelle Version (2.3j) von Opal.
+
Das [https://aur.archlinux.org/packages.php?ID=15267 Arch Linux Paket] lässt sich im [https://aur.archlinux.org/index.php AUR] finden.
* RPM für i386: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.suse10.1.rpm opal-2.3j-1.i386.suse10.1.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
 
  
Vielen Dank an dieser Stelle an Dirk Reckmann und Stephan Frank (ÜBB Gruppe), die uns einen Patch zum Übersetzen des OCS mit gcc 4.1 zur Verfügung gestellt haben!
+
Um das Paket installieren zu können, müssen folgende Abhängigkeiten installiert sein:
 +
* base-devel
 +
* tcl
 +
* tk
 +
* readline
 +
* flex
  
==== SuSE 10.0 ====
+
Installation via Shell könnte wie folgt aussehen:
Die aktuelle Version (2.3j) von Opal.
+
% wget https://aur.archlinux.org/packages/oc/ocs/ocs.tar.gz
* RPM für i386: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.suse10.0.rpm opal-2.3j-1.i386.suse10.0.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
+
% tar -xzf ocs.tar.gz
 +
% cd ocs
 +
% makepkg
 +
% sudo pacman -U ocs-2.4-1-i686.pkg.tar.xz
  
==== SuSE 9.3 ====
+
= SuSE =
Leider haben wir für SuSE 9.3 keine fertigen Pakete. Falls Du welche kompilierst, stell sie uns bitte [mailto:opalix@freitagsrunde.org zur Verfügung]!
+
Leider gibt es zur Zeit keine aktuellen Pakete für SuSE.
  
==== SuSE 9.2 ====
+
= Fedora =
===== 2.3j =====
+
Leider gibt es zur Zeit keine aktuellen Pakete für Fedora.
Dies ist die aktuelle Version von Opal.
 
* RPM für i586: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i586.suse9.2.rpm opal-2.3j-1.i586.suse9.2.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
 
  
===== 2.3i =====
+
= Debian =
* RPM für i386: [http://opalix.freitagsrunde.org/rpm/opal-2.3i-1.i386.suse9.2.rpm opal-2.3i-1.i386.suse9.2.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
+
Die Debianer können sich an die Ubuntu Anleitungen halten (bis auf, dass man sudo vielleicht durch ein vorheriges su ersetzt). Das Paket wurde getestet auf Debian Squeeze und Debian Wheezy.
* RPM für i586: [http://opalix.freitagsrunde.org/rpm/opal-2.3i-1.i586.suse9.2.rpm opal-2.3i-1.i586.suse9.2.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
 
  
==== SuSE 9.1 ====
+
= Ubuntu =
Dies ist die aktuelle Version von Opal.
+
== Paket Installation ==
* RPM für i386: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.i386.rpm opal-2.3j-1.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
+
Benjamin Drung hat für Opal ein Ubuntu-Paket gebaut. Das Paket ist gebaut für Ubuntu 11.10 Oneiric, funktioniert aber auch mit älteren Ubuntuversionen. Das Paket gibt es für
 +
*32-Bit (i386) [http://docs.freitagsrunde.org/Sonstiges/Opal/opal-compiler_2.4-0~bzr26~oneiric1_i386.deb Download]
 +
*64-Bit (amd64) [http://docs.freitagsrunde.org/Sonstiges/Opal/opal-compiler_2.4-0~bzr26~oneiric1_amd64.deb Download]
  
==== SuSE 9.0 ====
+
Welchen Typ euer System hat erfahrt ihr durch den Befehl <code>uname -m</code>; wird i386, i486, i586, oder i686 zurückgegeben, ist das System ein 32-Bit-System.
Für SuSE 9.0 haben wir leider nur ein veraltetes Paket (Version 2.3h), da uns kein System mit SuSE 9.0 zum Neukompilieren zur Verfügung steht. Dieser Version fehlt der Bugfix zum Kompilieren mehrerer Signaturen unter Linux, man kann sie also nur für einfache Programme verwenden. Falls jemand noch SuSE 9.0 benutzt, wären wir dankbar, wenn er ein Paket für uns kompilieren würde.
 
* Paket für i686 (ab P-II, Athlon, etc.): [http://opalix.freitagsrunde.org/rpm/alte_versionen/opal-2.3h-2.i686.suse9.0.rpm opal-2.3h-2.i686.suse9.0.rpm] ([http://opalix.freitagsrunde.org/rpm/alte_versionen/MD5SUMS Prüfsumme])
 
  
==== Bekannte Probleme/Lösungen ====
+
Um das Paket zu installieren müssen folgende Pakete installiert sein:
 +
* build-essential
 +
* libreadline6
 +
* tcl8.5
 +
* tk8.5
  
===== C Compiler fehlt =====
+
Der folgende Befehl auf der Konsole sollte das erledigen:
'''Symptom''': Ihr erhaltet eine Fehlermeldung, die ungefähr so aussieht:
 
  
  checking Binom.sign
+
  $ sudo apt-get install build-essential libreadline6 tcl8.5 tk8.5
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 [[WikiPedia:Gcc|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.
+
Opal kann durch Doppelklicken auf die deb-Datei installiert werden, oder durch den Befehl:
  
'''Lösung/Workaround''': Das Paket gcc installieren. Eventuell muss noch ein Symlink gesetzt werden, damit Opal den Compiler auch findet.
+
$ sudo dpkg -i opal-compiler_2.4-0~bzr26~oneiric1_i386.deb
  ln -s `which gcc` /usr/local/bin/gcc # als root
 
  
=== Fedora ===
+
für die 32-Bit-Version (der Befehl muss im selben Verzeichnis ausgeführt werden, in dem die deb-Datei liegt)
Das Paket installiert OPAL nach <code>/opt/ocs</code>, damit ihr an der Shell die Kommandos benutzen könnt, müsst ihr die folgende Zeile in eure <code>.bashrc</code> eintragen:
 
  
    export PATH=/opt/ocs/bin:$PATH
+
$ sudo dpkg -i opal-compiler_2.4-0~bzr26~oneiric1_amd64.deb
  
==== Fedora Core 4 ====
+
für die 64-Bit-Version.
  
Ein Paket für Fedora Core 4 ist in Vorbereitung.
+
== Installation aus den Quellen ==
 +
Opal lässt sich auch ohne größeren Aufwand aus den Quellen installieren. Hierzu werden die Pakete für <code>flex</code> und die Entwicklerversionen für <code>readline</code> und <code>Tcl/Tk</code> benötigt. Ab Version 10.04 lassen sich diese Pakete (und ihre Abhängigkeiten) mit folgendem Aufruf installieren:
  
Ich konnte keine Pakete bauen, da OCS sich nicht an die autoconf-Vorgaben hält. --[[Benutzer:Felix|Felix]] 16:48, 27. Okt 2005 (CEST)
+
% sudo apt-get install flex libreadline6-dev tcl8.5-dev tk8.5-dev
  
==== Fedora Core 3 ====
+
Anschließend lässt sich Opal wie folgt installieren:
  
Für Fedora Core 3 haben wir dank Christoph Höger ein Package der aktuellen Version 2.3j. Vielen Dank, Christoph!
+
% wget https://projects.uebb.tu-berlin.de/opal/trac/raw-attachment/wiki/OCS/ocs-2.4b.tar.gz
 +
% tar -xzf ocs-2.4b.tar.gz
 +
% cd ocs-2.4b/
 +
% ./configure
 +
% sudo make install
  
* RPM für i386: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.FC-3.i386.rpm opal-2.3j-1.FC-3.i386.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
+
In den ersten beiden Zeilen werden die Opal-Quellen von der Projektseite geladen und entpackt. Zeile drei wechselt in das die Opal-Quellen enthaltende Verzeichnis. Anschließend wird Opal für euer System konfiguriert. In der letzten Zeile wird Opal schließlich nach <code>/opt/ocs-2.4b</code> installiert, hierzu werden root-Rechte benötigt.
  
=== Andere RPM-basierte Distributionen ===
+
Zu guter Letzt solltet ihr die eben installierte Opal-Version noch für euren Benutzer einrichten, indem ihr den Eintrag
  
* Quellpaket: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.src.rpm opal-2.3j-1.src.rpm] ([http://opalix.freitagsrunde.org/rpm/MD5SUMS Prüfsumme])
+
export PATH=/opt/ocs-2.4b/bin:$PATH
  
Wenn Ihr Opal auf einer anderen RPM-basierten Distribution neukompilieren wollt, könnt Ihr das SRPM-Paket benutzen. Einfach an der Shell
+
zur <code>.profile</code> in eurem home Verzeichnis hinzufügt.
  
    rpmbuild --rebuild --target i386 opal-2.3j-1.src.rpm
+
= Gentoo =
 +
Ein Ebuild gibt's aktuell im Overlay <s>rbu</s> betagarden:
 +
# emerge -av layman # (Dort den Anweisungen folgen, um Layman auch einzurichten)
 +
# layman -f
 +
# layman -a betagarden
 +
# emerge dev-lang/opal
  
ausführen. Ihr benötigt dabei die Pakete <code>tcl-devel</code>, <code>tk-devel</code>, <code>xfree86-devel</code>, <code>flex</code> und <code>readline-devel</code>. Wenn ihr neue Pakete baut, wäre es nett, wenn ihr sie hier anderen zur Verfügung stellt. Sagt einfach unter [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org] Bescheid, wo sie zu finden sind.
+
Da das Ebuild maskiert ist, sind an dieser Stelle eventuell noch weitere Schritte nötig; die Installation maskierter Ebuilds ist hier erklärt: [http://www.gentoo.org/doc/de/handbook/handbook-x86.xml?part=3&chap=3#doc_chap3 Nutzung maskierter Pakete].
  
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 [mailto:opalix@freitagsrunde.org opalix@freitagsrunde.org]
+
Seit Version 2.3n unterstützt Opal nun offiziell auch 64-Bit-Umgebungen.
  
* spec file: [http://opalix.freitagsrunde.org/rpm/opal-2.3j-1.spec opal-2.3j-1.spec]
+
= FreeBSD =
 +
Es gibt einen FreeBSD-Port um OCS kompilieren zu können:
  
=== Debian ===
+
$ su
Das Paket für Debian enthält die aktuelle Version 2.3j.
+
# cd /usr/ports/lang/ocs
Es gibt ein <code>apt-get</code> Repository, das man mit folgenden Zeilen in der Datei /etc/apt/sources.list einstellen kann:
+
# make install clean
<pre>
 
deb http://opalix.freitagsrunde.org/debian-rep ./
 
deb-src http://opalix.freitagsrunde.org/debian-rep ./
 
</pre>
 
Das Package heißt ocs und lässt sich mit
 
<pre>
 
sudo apt-get install ocs
 
</pre>
 
installieren.
 
Vielen Dank an Marco Ziech für seine Zeit und Mühe, das Paket und Repository zu erstellen!
 
  
=== Ubuntu ===
+
Alternativ kann man sich ein bereits kompiliertes Paket installieren
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.
 
  
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.
+
$ su
Es wird dringend abgeraten den root-Account zu aktivieren.
+
# pkg_add -r ocs
  
==== Benötigte Pakete ====
+
Sowohl Kompilierer als auch Interpreter funktionieren einwandfrei.
  
==== Breezy 5.10 ====
+
= MacOS X =
tk8.3-dev, libreadline4-dev, gcc, flex
+
Seit Version 2.4 lässt sich Opal auch unter MacOS X installieren. Alle hierzu benötigten Tools sind in Apples hauseigenen Developer Tools enthalten, die ihr auf der Software DVD oder auf der [http://developer.apple.com/xcode/ Apple-Homepage] findet. Um das Opal-Dokumentationssystem DOSFOP nutzen zu können, ist zusätzlich eine [http://www.tug.org/mactex/2011/ Tex-Installation] notwendig. Um die Tk-basierte <code>OpalWin</code>-Bibliothek nutzen zu können, ist ab MacOS X 10.8 (Mountain Lion) zudem die [http://support.apple.com/kb/HT5293 Installation von X11] notwendig, da Apple diese nicht mehr standardmäßig bereit stellt.
  
==== Dapper 6.06 ====
+
== Pakete ==
tk8.3-dev, libreadline'''5'''-dev, gcc, flex
 
  
 +
Opal-Pakete für MacOS X 10.8 (Mountain Lion) sind [https://projects.uebb.tu-berlin.de/opal/trac/wiki/Packages hier] zu finden.
  
 +
== Installation aus den Quellen ==
  
Paketinstallation:
+
Für eine Installation aus den Quellen sind folgende Schritte notwendig:
* 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
+
1.) Den Opal-Quellcode [https://projects.uebb.tu-berlin.de/opal/trac/raw-attachment/wiki/OCS/ocs-2.4b.tar.gz hier] herunter laden und entpacken.
  
apt-get install tk8.3-dev libreadline4-dev gcc flex
+
2.) Opal installieren (wobei <code>ocs-2.4b</code> das Verzeichnis ist, in dem der entpackte Quellcode liegt):
  
==== OCS Compilierung ====
+
% cd ocs-2.4b
Unter
+
% ./configure
http://uebb.cs.tu-berlin.de/opal/
+
% sudo make install
  
findet Ihr die Quellen und die Dokumentation.
+
Standardmäßig wird Opal im Verzeichnis <code>/opt/ocs-2.4b</code> installiert. Um dies zu ändern, ist der <code>./configure</code> Aufruf wie folgt anzupassen:
$VERSION ist die Version des Opalpakets (aktuell dürfte das 2.3j sein).
 
Wir nehmen mal an Ihr habt sie in Eurem Homeverzeichnis.
 
  
* cd ~/
+
% ./configure --prefix=Pfad
* 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).
+
Opals Dokumentationssystem DOSFOP (Tex-Installation erforderlich) wird durch folgenden <code>./configure</code> Aufruf mit installiert:
  
<!--
+
% ./configure --enable-dosfop
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>
 
deb http://opalix.freitagsrunde.org/debian-rep ./
 
deb-src http://opalix.freitagsrunde.org/debian-rep ./
 
</pre>
 
  
hinzufügen.
+
Zu guter Letzt solltet ihr noch das Verzeichnis, in dem die Opal Binaries liegen, in euren Pfad aufnehmen, indem ihr
  
Entweder man macht es mit der GUI oder auf der Kommandozeile:
+
export PATH=/opt/ocs-2.4b/bin:$PATH
  
==== Repository per GUI hinzufügen ====
+
in eure <code>.profile</code> Datei hinzufügt.
* 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
 
  
==== Repository per Kommandozeile hinzufügen ====
+
= Bekannte Probleme/Lösungen =
* 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:
+
== C Compiler wird unter MacOS X nicht gefunden ==
<pre>
 
user@ubuntulinux > sudo apt-get install ocs
 
</pre>
 
  
Vielleicht muß vorher noch ein apt-get update gemacht werden:
+
Erstmal gucken ob [[GCC_unter_Mac_OS|GCC richtig installiert ist]].
<pre>
 
user@ubuntulinux > sudo apt-get update
 
</pre>
 
-->
 
  
FERTIG.
 
  
==== Bei Problemen ====
+
Falls gcc nicht unter <code>/usr/bin/gcc</code> installiert ist, hilft ggf. folgender Workaround:
Wenn es Probleme gibt, stellt sicher, dass zur Funktion notwendige Pakete installiert sind, mit folgendem Befehl:
+
* Ihr müsst (als root, ggf. <code>sudo</code> voranstellen) ein paar Symlinks setzen, da <code>oasys</code> sonst ein paar Executables nicht findet:
<pre>
+
** <code>ln -s /Developer/usr/bin/gcc /usr/local/bin/gcc</code>
apt-get install gcc make libc6-dev tk8.3-dev libreadline4-dev gcc flex
+
** <code>ln -s /Developer/usr/bin/nm /usr/bin/nm</code>
</pre>
+
** (den ersten Pfad jeweils entsprechend anpassen, je nachdem, wo ihr die Tools installiert habt)
 +
** (vorher evtl. <code>mkdir /usr/local/bin</code>, falls es das Directory nicht geben sollte)
  
==== Ohne erneutes Quellcodekompilieren ====
+
Danach lief bei mir <code>oasys</code> ohne Fehler.
  
Also hier die Variante für Ubuntu 5.10 mit dem Debian
+
== C Compiler fehlt ==
Paket von Marco ohne erneutes Quellcodekompilieren:
+
'''Symptom''': Ihr erhaltet eine Fehlermeldung, die ungefähr so aussieht:
<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
+
checking Binom.sign
und am Ende könnt ihr die beiden hinzugefügten Zeilen
+
checking Binom.impl
aus der /etc/apt/sources.list wieder entfernen/ausklammen.
+
compiling Binom.impl
Die Pakete: tk8.3-dev, libreadline4-dev und flex werden
+
/opt/ocs/lib/oasys/ccompiler: line 17: /usr/local/bin/gcc: No such file or directory
bei dieser Variante nicht benötigt.
+
/opt/ocs/lib/oasys/ccompiler: line 17: exec: /usr/local/bin/gcc: cannot execute: No such file or directory
<!-- hinzugefürgt von: jhscheer@cs.tu-berlin.de -->
+
ERROR [C compiler]: /opt/ocs/lib/oasys/ccompiler exited abnormally
 +
aborted
  
=== Gentoo ===
+
Auf einigen neueren Systemen (Ubuntu 5.10, SuSE 10.0) kommt es zu noch nicht genau geklärten Problemen von OCS mit der [[WikiPedia:GNU_Compiler_Collection|Gnu Compiler Collection (gcc)]]. OCS benötigt den C Compiler (ggf. zusätzlich installiern) und kann ihn dennoch 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.
Ebuilds von Opal und der Opal-Dokumentation finden sich unter [http://user.cs.tu-berlin.de/~jensb/opal-ebuilds.tar.bz2].
+
 
 +
'''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
  
==== Hinweise zur Installation des Opal-Ebuilds ====
+
2.Workaround: einfach mal im Homeverzeichnis die Dateien (*.impl und *.sign speichern) und dort dann "oasys" ausführen.
Hierbei muss das Gentoo-System angepasst werden.
 
  
Innerhalb von <code>/etc/make.conf</code> ist der Eintrag der <code>PORTDIR_OVERLAY</code>-Variable nötig. Dafür ist ein eigenes Verzeichnis zu erstellen (im Allgemeinen und im Weiteren <code>/usr/local/portage</code>) und der Variable zuzuordnen:
+
== Libraries fehlen ==
mkdir -m 755 /usr/local/portage
 
echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf
 
  
Unterhalb des Verzeichnisses <code>/usr/local/portage</code> das Verzeichnis <code>dev-lang</code> und darin die Verzeichnisse <code>opal</code> und <code>opaldoc</code> 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: [http://de.gentoo-wiki.com/Masked Maskierte Ebuilds].
+
$ oasys
 +
oasys version 1.1e (ocs version 2.3j), (c) 1989-2001 The OPAL Group, TU Berlin
 +
> a WhatsThat.sign
 +
loading WhatsThat.sign
 +
loading WhatsThat.impl
 +
>f WhatsThat.impl
 +
WhatsThat.impl>e WhatsThat(2)
 +
starting evaluator process
 +
/usr/bin/ld: crti.o: No such file: No such file or directory
 +
collect2: ld returned 1 exit status
 +
evaluator: cannot create transient shared object `/tmp/file7HXogh.so' for `./OCS/WhatsThat.o'
 +
connection lost
  
Jetzt einfach:
+
Lösung: Paket '''build-essential''' installieren, z.B. mittels
  emerge opal opaldoc
+
  apt-get install build-essential
  
Um die neue Version von Opal (2.3''j''), 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 ==
+
Falls ihr auf eine Fehlermeldung stoßt, dass einige libs fehlen, aber ihr wisst, dass diese installiert sind,
Für all die, die OCS und Opal unter FreeBSD kompilieren wollen, gibt
+
schaut einmal auf die Versionsnummern.
es eine kurze Anleitung unter: [http://user.cs.tu-berlin.de/~pdmef/opal/freebsd.html]; fertige Packages für 5.3-RELEASE werden bei größerer Nachfrage erstellt.
+
Da die Versionsnummer zum Teil ein Bestandteil des Namens ist, fand oasys zB bei mir die gewünschte lib nicht, weil ich bereits eine neuere Version installiert hatte.
 +
Abhilfe schafft dann ein mehr oder weniger dreckiger hack:
 +
Sucht das Verzeichnis in dem sich die Lib befindet.
 +
ln -s <eure installierte neue lib> <die alte lib nach der opal sucht>
 +
erstellt einen Link mit dem Namen der lib die oasys sucht und zeigt auf die neue Version der lib.
 +
Somit kann oasys, wenn es die Alte versucht anzusprechen mit der Neuen arbeiten.
 +
Ich kann nicht versprechen, dass dies immer klappt, aber einen Versuch ist es Wert.
 +
Und nicht vergessen! Diese Links sofort löschen, wenn es nicht klappt! Ansonsten müllt ihr euch euren Rechner zu ;)
  
 
[[Kategorie:Opal]]
 
[[Kategorie:Opal]]

Aktuelle Version vom 13. November 2013, 09: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 . Wir helfen euch gerne!

Allerdings muss man leider auch anmerken, dass der Opal-Buildprozess sehr schlecht organisiert ist. So wird z.B. nicht zwischen Kompilations- 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.

Hinweis: Pünktlich zum Wintersemester 2011/2012 erschien die Opal Version 2.4, die neben einigen Bugfixes unter anderem expliziten Support für MacOS X bringt. Wir (die Opal-Maintainer) raten aus diesem Grund dringend von der Installation älterer Versionen ab. Wenn ihr hier keine aktuellen Opal-Pakete für eure Distribution findet, zieht bitte die Installation aus den Quellen den alten Paketen vor. -- Martin

Hinweis zum Selber-Kompilieren

Die Grundlegende Vorgehensweise zur Installation von Opal aus den Quellen ist hier zu finden.

Arch Linux

Das Arch Linux Paket lässt sich im AUR finden.

Um das Paket installieren zu können, müssen folgende Abhängigkeiten installiert sein:

* base-devel
* tcl
* tk
* readline
* flex

Installation via Shell könnte wie folgt aussehen:

% wget https://aur.archlinux.org/packages/oc/ocs/ocs.tar.gz
% tar -xzf ocs.tar.gz
% cd ocs
% makepkg
% sudo pacman -U ocs-2.4-1-i686.pkg.tar.xz

SuSE

Leider gibt es zur Zeit keine aktuellen Pakete für SuSE.

Fedora

Leider gibt es zur Zeit keine aktuellen Pakete für Fedora.

Debian

Die Debianer können sich an die Ubuntu Anleitungen halten (bis auf, dass man sudo vielleicht durch ein vorheriges su ersetzt). Das Paket wurde getestet auf Debian Squeeze und Debian Wheezy.

Ubuntu

Paket Installation

Benjamin Drung hat für Opal ein Ubuntu-Paket gebaut. Das Paket ist gebaut für Ubuntu 11.10 Oneiric, funktioniert aber auch mit älteren Ubuntuversionen. Das Paket gibt es für

Welchen Typ euer System hat erfahrt ihr durch den Befehl uname -m; wird i386, i486, i586, oder i686 zurückgegeben, ist das System ein 32-Bit-System.

Um das Paket zu installieren müssen folgende Pakete installiert sein:

  • build-essential
  • libreadline6
  • tcl8.5
  • tk8.5

Der folgende Befehl auf der Konsole sollte das erledigen:

$ sudo apt-get install build-essential libreadline6 tcl8.5 tk8.5

Opal kann durch Doppelklicken auf die deb-Datei installiert werden, oder durch den Befehl:

$ sudo dpkg -i opal-compiler_2.4-0~bzr26~oneiric1_i386.deb

für die 32-Bit-Version (der Befehl muss im selben Verzeichnis ausgeführt werden, in dem die deb-Datei liegt)

$ sudo dpkg -i opal-compiler_2.4-0~bzr26~oneiric1_amd64.deb

für die 64-Bit-Version.

Installation aus den Quellen

Opal lässt sich auch ohne größeren Aufwand aus den Quellen installieren. Hierzu werden die Pakete für flex und die Entwicklerversionen für readline und Tcl/Tk benötigt. Ab Version 10.04 lassen sich diese Pakete (und ihre Abhängigkeiten) mit folgendem Aufruf installieren:

% sudo apt-get install flex libreadline6-dev tcl8.5-dev tk8.5-dev

Anschließend lässt sich Opal wie folgt installieren:

% wget https://projects.uebb.tu-berlin.de/opal/trac/raw-attachment/wiki/OCS/ocs-2.4b.tar.gz
% tar -xzf ocs-2.4b.tar.gz
% cd ocs-2.4b/
% ./configure
% sudo make install

In den ersten beiden Zeilen werden die Opal-Quellen von der Projektseite geladen und entpackt. Zeile drei wechselt in das die Opal-Quellen enthaltende Verzeichnis. Anschließend wird Opal für euer System konfiguriert. In der letzten Zeile wird Opal schließlich nach /opt/ocs-2.4b installiert, hierzu werden root-Rechte benötigt.

Zu guter Letzt solltet ihr die eben installierte Opal-Version noch für euren Benutzer einrichten, indem ihr den Eintrag

export PATH=/opt/ocs-2.4b/bin:$PATH

zur .profile in eurem home Verzeichnis hinzufügt.

Gentoo

Ein Ebuild gibt's aktuell im Overlay rbu betagarden:

# emerge -av layman # (Dort den Anweisungen folgen, um Layman auch einzurichten)
# layman -f
# layman -a betagarden
# emerge dev-lang/opal

Da das Ebuild maskiert ist, sind an dieser Stelle eventuell noch weitere Schritte nötig; die Installation maskierter Ebuilds ist hier erklärt: Nutzung maskierter Pakete.

Seit Version 2.3n unterstützt Opal nun offiziell auch 64-Bit-Umgebungen.

FreeBSD

Es gibt einen FreeBSD-Port um OCS kompilieren zu können:

$ su
# cd /usr/ports/lang/ocs
# make install clean

Alternativ kann man sich ein bereits kompiliertes Paket installieren

$ su
# pkg_add -r ocs

Sowohl Kompilierer als auch Interpreter funktionieren einwandfrei.

MacOS X

Seit Version 2.4 lässt sich Opal auch unter MacOS X installieren. Alle hierzu benötigten Tools sind in Apples hauseigenen Developer Tools enthalten, die ihr auf der Software DVD oder auf der Apple-Homepage findet. Um das Opal-Dokumentationssystem DOSFOP nutzen zu können, ist zusätzlich eine Tex-Installation notwendig. Um die Tk-basierte OpalWin-Bibliothek nutzen zu können, ist ab MacOS X 10.8 (Mountain Lion) zudem die Installation von X11 notwendig, da Apple diese nicht mehr standardmäßig bereit stellt.

Pakete

Opal-Pakete für MacOS X 10.8 (Mountain Lion) sind hier zu finden.

Installation aus den Quellen

Für eine Installation aus den Quellen sind folgende Schritte notwendig:

1.) Den Opal-Quellcode hier herunter laden und entpacken.

2.) Opal installieren (wobei ocs-2.4b das Verzeichnis ist, in dem der entpackte Quellcode liegt):

% cd ocs-2.4b
% ./configure
% sudo make install

Standardmäßig wird Opal im Verzeichnis /opt/ocs-2.4b installiert. Um dies zu ändern, ist der ./configure Aufruf wie folgt anzupassen:

% ./configure --prefix=Pfad

Opals Dokumentationssystem DOSFOP (Tex-Installation erforderlich) wird durch folgenden ./configure Aufruf mit installiert:

% ./configure --enable-dosfop


Zu guter Letzt solltet ihr noch das Verzeichnis, in dem die Opal Binaries liegen, in euren Pfad aufnehmen, indem ihr

export PATH=/opt/ocs-2.4b/bin:$PATH

in eure .profile Datei hinzufügt.

Bekannte Probleme/Lösungen

C Compiler wird unter MacOS X nicht gefunden

Erstmal gucken ob GCC richtig installiert ist.


Falls gcc nicht unter /usr/bin/gcc installiert ist, hilft ggf. folgender Workaround:

  • Ihr müsst (als root, ggf. sudo voranstellen) ein paar Symlinks setzen, da oasys sonst ein paar Executables nicht findet:
    • ln -s /Developer/usr/bin/gcc /usr/local/bin/gcc
    • ln -s /Developer/usr/bin/nm /usr/bin/nm
    • (den ersten Pfad jeweils entsprechend anpassen, je nachdem, wo ihr die Tools installiert habt)
    • (vorher evtl. mkdir /usr/local/bin, falls es das Directory nicht geben sollte)

Danach lief bei mir oasys ohne Fehler.

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 (ggf. zusätzlich installiern) und kann ihn dennoch 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

2.Workaround: einfach mal im Homeverzeichnis die Dateien (*.impl und *.sign speichern) und dort dann "oasys" ausführen.

Libraries fehlen

$ oasys
oasys version 1.1e (ocs version 2.3j), (c) 1989-2001 The OPAL Group, TU Berlin
> a WhatsThat.sign
loading WhatsThat.sign
loading WhatsThat.impl
>f WhatsThat.impl
WhatsThat.impl>e WhatsThat(2)
starting evaluator process
/usr/bin/ld: crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
evaluator: cannot create transient shared object `/tmp/file7HXogh.so' for `./OCS/WhatsThat.o'
connection lost

Lösung: Paket build-essential installieren, z.B. mittels

apt-get install build-essential

Falls ihr auf eine Fehlermeldung stoßt, dass einige libs fehlen, aber ihr wisst, dass diese installiert sind, schaut einmal auf die Versionsnummern. Da die Versionsnummer zum Teil ein Bestandteil des Namens ist, fand oasys zB bei mir die gewünschte lib nicht, weil ich bereits eine neuere Version installiert hatte. Abhilfe schafft dann ein mehr oder weniger dreckiger hack: Sucht das Verzeichnis in dem sich die Lib befindet.

ln -s <eure installierte neue lib> <die alte lib nach der opal sucht>

erstellt einen Link mit dem Namen der lib die oasys sucht und zeigt auf die neue Version der lib. Somit kann oasys, wenn es die Alte versucht anzusprechen mit der Neuen arbeiten. Ich kann nicht versprechen, dass dies immer klappt, aber einen Versuch ist es Wert. Und nicht vergessen! Diese Links sofort löschen, wenn es nicht klappt! Ansonsten müllt ihr euch euren Rechner zu ;)