Mailinglist Archive: opensuse-de (5264 mails)

< Previous Next >
Re: Programme kompilieren
  • From: Thomas Hertweck <Thomas.Hertweck@xxxxxxxxxxxxxxxxxxxx>
  • Date: Wed, 13 Jun 2001 22:23:53 +0200
  • Message-id: <3B27CBD9.3527EFDC@xxxxxxxxxxxxxxxxxxxx>
Guenter Penk wrote:
> Ich habe 3, eher grundsätzliche, Fragen an Euch, ich ich nicht mit den
> Handbüchern beantworten konnte. Da sie eng zusammengehören, möchte ich
> nicht für jedes einen Thread aufmachen.
>
> 1. Warum muss man Programme für Linux extra kompilieren?

Hmmm, Du hast unter Linux die Wahl, da Dir zu den allermeisten
Programmen der Quellcode zur Verfuegung steht (im Gegensatz z.B. zum
Windows-Betriebssystem). Entweder installierst Du vorcompilierte
Pakete wie z.B. ein RPM-Paket -- da hat dann bereits jemand quasi
fuer Dich das Programm compiliert und als RPM zusammengestellt
(ausser Du nimmst SRPMs.... :-). Oder Du besorgst Dir den Source
Code und compilierst selbst. Hat beides Vor- und Nachteile: RPM ist
sicherlich gerade fuer Neulinge unter Linux oder Leute, die sich mit
Compilern und den ganzen Optionen nicht so auskennen, einfacher,
auch was Installation angeht. Sehr neue Programme oder
Developer-Versionen bekommst Du meistens nur als reinen Quellcode,
und mit autoconf und automake hat sich die Uebersetzung des Source
Codes auch drastisch vereinfacht. Aber es bleibt fuer die meisten
Leute trotzdem so eine Art Mysterium, obwohl es das eigentlich nicht
muesste :-) Punkt 2. unten spielt sicherlich bei den Betrachtungen
auch eine Rolle.....

> 2. Gibt es einen Unterschied, etwa in Programmschnelligkeit,
> Kompatibilität o.ä. zwischen der Kompilierung von *.tar.gz-Archiven und
> der Verwendung von vorkompilierten RPM-Paketen (ausser der einfacheren
> Installation und der unterschiedlichen Paketgrößen)

Prinzipiell solltest Du RPM Pakete installieren, die fuer Dein
System bestimmt sind, insbesondere fuer Deine glibc. Je nachdem, was
der Autor des RPMs beim Compilieren des Programmes fuer Optionen
verwendet hat, sind die Programme mehr oder weniger fuer Dein System
(Prozessor) optimiert. Bei manchen Programmen kann eine Optimierung
sehr viel bringen, bei anderen Programm wiederum spielt es keine so
grosse Rolle. Abhilfe wuerde da z.B. das Verwenden von Source-RPMs
schaffen, da diese auf Deinem System compiliert werden und Du quasi
ueber gewisse Konfigurationsmoeglichkeiten noch Einfluss darauf
hast. Oder eben direkt *.tar.gz nehmen und compilieren.

> 3. Ist es möglich/macht es Sinn, dem Compiler andere Optimierungsstufen
> zuzuweisen (z.B. für PII oder PIII) oder werden Programme dadurch buggy?

Prinzipiell sollte das Programm, wenn es ordentlich geschrieben ist,
nicht 'buggy' werden. Ob es was bringt, haengt u.a. davon ab, ob das
Programm von speziellen Features der unterschiedlichen Prozessoren
Gebrauch macht. Ich denke, es wird selten lohnen, sein gesamtes
System neu zu compilieren, nur um eine bessere Optimierung
hinzubekommen. Einige auf dieser Liste haben AFAIR schonmal damit
experimentiert, z.B. Xfree neu zu compilieren, um damit
Geschwindigkeits- oder andere Vorteile zu bekommen, Vielleicht
koennen die Dir ja noch weitere Hinweise geben.

Hoffe, das ist so alles korrekt, was ich geschrieben habe.
Im Zweifelsfalle ist es IMHO und IIRC.... :-)

MfG,
Thomson

--
Thomas Hertweck, Geophysicist
Geophysical Institute, University of Karlsruhe
Hertzstr. 16, D-76187 Karlsruhe, Germany


< Previous Next >
References