Home / LinuxUser / 2012 / 10 / CTAN, CPAN, Pear & Co.: Paketverwaltungen für Quellcode

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Sprudelnde Quellen

CTAN, CPAN, Pear & Co.: Paketverwaltungen für Quellcode

Octave-Forge

Das Mathematikprogramm GNU Octave [6] glänzt durch weitgehende Kompatibilität zum kommerziellen Matlab. Auch für Octave gibt es eine Sammlung an zusätzlichen Paketen, die Sie über einen eigenen Paketmanager nachinstallieren können: Octave-Forge. Eine Übersicht über die zusätzlichen Pakete finden Sie auf der Octave-Forge-Webseite [7].

Pkg: Wichtige Befehle

Befehl

Funktion

help pkg Hilfetext ausgeben
pkg install Paket.tar.gz bereits heruntergeladenes Paket installieren
pkg install -forge Modul Paket Modul direkt von Octave-Forge installieren.
pkg uninstall Paket Paket deinstallieren
pkg update Update aller Pakete
pkg list zeige installierte Pakete
pkg describe Paket beschreibe Paket
pkg describe all beschreibe alle Pakete

Der Octave-Befehl pkg dient zur Paketadministration, seine wichtigsten Optionen zeigt die Tabelle "Pkg: Wichtige Befehle". Um etwa das Paket strings einzurichten, geben Sie den Befehl aus Listing 3 ein. Im Erfolgsfall liefert er nur eine recht schmallippige Meldung.

Listing 3

octave:1> pkg install -forge strings
For information about changes from previous versions of the strings package, run 'news ("strings")'.

Tauchen dagegen zahlreiche Meldungen auf, wie in Listing 4, ist etwas schiefgegangen – aber was? Um das Paket zu kompilieren, benötigt Octave die Datei hdf5.h, und diese wurde nicht gefunden (Zeile 10). In so einem Fall benötigt man oft etwas Fantasie, um herauszufinden, wo genau es hapert. In diesem Fall fehlte das Paket hdf5-devel (also die Header-Dateien zur Bibliothek hdf5), das wir über das Paketmanagement der Distribution nachinstallieren mussten.

Listing 4

octave:1> pkg install -forge strings
In file included from /usr/include/octave-3.6.1/octave/../octave/ov.h:43:0,
                 from /usr/include/octave-3.6.1/octave/../octave/oct-obj.h:34,
                 from /usr/include/octave-3.6.1/octave/../octave/ov-fcn.h:32,
                 from /usr/include/octave-3.6.1/octave/../octave/ov-builtin.h:28,
                 from /usr/include/octave-3.6.1/octave/../octave/defun-int.h:28,
                 from /usr/include/octave-3.6.1/octave/../octave/defun-dld.h:30,
                 from /usr/include/octave-3.6.1/octave/../octave/oct.h:36,
                 from pcregexp.cc:24:
/usr/include/octave-3.6.1/octave/../octave/oct-hdf5.h:27:18: fatal error: hdf5.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
make: *** [pcregexp.oct] Fehler 1
'make' returned the following error: make: Entering directory `/tmp/oct-iUl5nt/strings/src'
mkoctfile -Wall pcregexp.cc
make: Leaving directory `/tmp/oct-iUl5nt/strings/src'
error: called from `pkg>configure_make' in file /usr/share/octave/3.6.1/m/pkg/pkg.m near line 1385, column 9
error: called from:
error:   /usr/share/octave/3.6.1/m/pkg/pkg.m at line 827, column 5
error:   /usr/share/octave/3.6.1/m/pkg/pkg.m at line 383, column 9

Verwendet man selbst nachinstallierte Module und Pakete, gilt es gut aufzupassen, sobald man etwas über das Distributionspaketmanagement deinstalliert: Die händisch eingerichteten Module benötigen zwar oft diverse Bibliotheken und Programme, die entsprechenden Abhängigkeiten sind jedoch nicht in der RPM- oder Dpkg-Datenbank registriert. Es entfällt also im Falle einer Deinstallation von RPM/DEB-Paketen jede Warnung, dass dadurch möglicherweise eine Abhängigkeit verletzt wird.

Fazit

Viele Software-Projekte bieten eingebaute Erweiterungsmöglichkeiten, die der Distributor häufig nicht alle paketieren und zur Verfügung stellen kann. Ähnliche Mechanismen für Erweiterungsmodule wie die vorgestellten gibt es beispielsweise auch für die populären Skriptsprachen Python (pip, easy_install) und Ruby (RubyGems).

Die Nutzung solcher projektspezifischen Zusatzpakete kann viel Programmierarbeit ersparen und Anwendungen komfortabler machen. Sie müssen allerdings etwas aufpassen, dass sich das software- und das distributionseigene Paketmanagement nicht ins Gehege geraten. Im Gegenzug erhalten Sie leistungsfähigere Software, als sie der Distributor jemals liefern könnte. 

Glossar

Pear

Das Kürzel steht für PHP Extension and Application Repository. Daneben gibt es für PHP auch noch PECL, die PHP Extension Community Library.

Infos

[1] CPAN: http://www.cpan.org

[2] Perl-Source: http://www.perl.org/get.html

[3] Activestate Perl: http://www.activestate.com

[4] PHP PEAR: http://pear.php.net/

[5] TeX Live: http://www.tug.org/texlive/

[6] GNU Octave: http://www.gnu.org/software/octave/

[7] Octave-Forge: http://octave.sourceforge.net/

Der Autor

Der Systemadministrator Wolfgang Dautermann hat neben vielen Linux-Varianten auch schon diverse andere Unix-Systeme gebändigt, darunter Solaris, Irix und Tru64. Er zählt zu den Organisatoren der Grazer Linux-Tage.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 80 Punkte (4 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...