Opal für Linux/Unix: Unterschied zwischen den Versionen
(Überarbeitung der Einleitung, Installationsanleitung für MacOS X hinzugefügt) |
(Revised →Ubuntu: Section) |
||
Zeile 70: | Zeile 70: | ||
= Ubuntu = | = Ubuntu = | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Paket Installation == | == Paket Installation == | ||
− | + | Ein Ubuntu-Paket ist in Arbeit, Anleitung folgt. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == 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 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.4.tar.gz | |
− | + | % tar -xzf ocs-2.4.tar.gz | |
− | + | % cd ocs-2.4/ | |
− | + | % ./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 <code>/opt/ocs-2.4</code> 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.4/bin:$PATH | |
− | + | zur <code>.profile</code> in eurem home Verzeichnis hinzufügt. | |
− | < | ||
− | |||
− | </ | ||
= Gentoo = | = Gentoo = |
Version vom 14. Oktober 2011, 10:12 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
Inhaltsverzeichnis
Hinweis zum Selber-Kompilieren
Die Grundlegende Vorgehensweise zur Installation von Opal aus den Quellen ist hier zu finden.
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
Aktuelle Versionen
Unsere Pakete für aktuelle Versionen von SuSE (siehe auch Bekannte Probleme/Lösungen weiter unten).
- SuSE 11.0: opal_suse11.00.tar.gz (Prüfsumme) Vielen Dank an Rene Waidt
- SuSE 10.1: opal-2.3j-1.i386.suse10.1.rpm (Prüfsumme)
- SuSE 10.0: opal-2.3j-1.i386.suse10.0.rpm (Prüfsumme)
Alte Versionen
Zusätzlich zu den Paketen für aktuelle SuSE Versionen gibt es auch noch Pakete für ältere Versionen auf dem Server.
- SuSE 9.2: opal-2.3j-1.i586.suse9.2.rpm (Prüfsumme)
- SuSE 9.1: opal-2.3j-1.i386.rpm (Prüfsumme)
- SuSE 9.0: opal-2.3h-2.i686.suse9.0.rpm (Prüfsumme)
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
Laut Berichten gibt es Probleme zwischen SELinux und dem Opalinterpreter oasys. Vermutlich hilft hier ein Deaktivieren von SELinux für Opal bzw. das Erstellen von korrekten Regeln.
- Fedora Core 6:
opal-2.3j-1.fc6.i386.rpm (Prüfsumme) Vielen Dank an Dennis Schickhaus. - Fedora Core 5:
opal-2.3k-1.fc5.i386.rpm (Prüfsumme) Vielen Dank an Christoph Höger.
opal-2.3j-1.fc5.i386.rpm (Prüfsumme) Vielen Dank an Dennis Schickhaus. - Fedora Core 3:
opal-2.3j-1.FC-3.i386.rpm (Prüfsumme) Vielen Dank an Christoph Höger.
Andere RPM-basierte Distributionen
- Quellpaket: opal-2.3j-1.src.rpm (Prüfsumme)
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 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 .
- spec file: opal-2.3j-1.spec
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! !Achtung, das Paket verträgt sich nicht mit dem Paket cscope, da beide /usr/bin/ocs ausliefern, cscope deinstallieren oder Paket fixen!
Ubuntu
Paket Installation
Ein Ubuntu-Paket ist in Arbeit, Anleitung folgt.
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 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.4.tar.gz % tar -xzf ocs-2.4.tar.gz % cd ocs-2.4/ % ./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.4
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.4/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 hauseigenem Entwicklerpaket Xcode enthalten. Um das Opal-Dokumentationssystem DOSFOP nutzen zu können, ist zusätzlich eine Tex-Installation notwendig.
Im Augenblick ist nur die Installation aus den Quellen möglich (an einem Binary-Release wird gearbeitet), hierzu sind folgende Schritte notwendig:
1.) Den Opal-Quellcode hier herunter laden und entpacken.
2.) Opal installieren (wobei ocs-2.4
das Verzeichnis ist, in dem der entpackte Quellcode liegt):
% cd ocs-2.4 % ./configure % sudo make install
Standardmäßig wird Opal im Verzeichnis /opt/ocs-2.4
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.4/bin:$PATH
in eure .profile
Datei hinzufügt.
Opalix in Vier Schritten aus Windows aus installieren
Diese Methode ist sehr hilfreich für diejenigen die sich mit Linuxinstallationen, Partitionsmanagement und Bootloadern nicht auskennen!
Schritt 1:
Letztes development-release von Wubi herunterladen
Schritt 2:
Opalix Live-CD ISO herunterladen (Wubi und ISO müssen sich im gleichen Ordner befinden!)
Schritt 3: GANZ WICHITG: Internetverbindung deaktivieren/trennen!
Schritt 4: Wubi ausführen. Die Sprache muss die gleiche sein wie die des Windows OS.
Desktop Enviroment: Ubuntu (da Opalix auf Ubuntu basiert)
Dem Installer folgen und beim Neustart im Bootmanager Ubuntu wählen.
Fertig
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 (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 ;)