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

(SuSE: GCC Problem hinzugefügt)
Zeile 164: Zeile 164:
  
 
[[Kategorie:Opal]]
 
[[Kategorie:Opal]]
 +
 +
Test

Version vom 10. November 2005, 19:58 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 seit, 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

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.0

Dies ist die aktuelle Version von Opal.

SuSE 9.3

Leider haben wir für SuSE 9.3 keine fertigen Pakete. Falls Du welche kompilierst, stell sie uns bitte zur Verfügung!

SuSE 9.2

2.3j

Dies ist die aktuelle Version von Opal.

2.3i

SuSE 9.1

Dies ist die aktuelle Version von Opal.

SuSE 9.0

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.

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

Dieses Problem ist darauf zurückzuführen, dass die Gnu Compiler Collection (gcc) nicht auf dem System installiert ist. OCS benötigt gcc, so dass es zu diesem Fehler kommt. Dies ist offensichtlich auch eine fehlende Dependency des Pakets, die wir in der nächsten Version korrigieren werden.

Lösung: Das Paket gcc installieren.

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:

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

Das Paket für Debian kann man auch für Ubuntu nehmen, allerdings wurde es nur mit Ubuntu 5.10 "The Breezy Badger" getestet.

Wie bei Debian muß man das Repository

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

hinzufügen.

Entweder man macht es mit der GUI oder auf der Kommandozeile:

Repository per GUI hinzufügen

  • 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

  • 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 install ocs 

FERTIG.

Gentoo

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

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.

Test