Mailinglist Archive: opensuse-de (5264 mails)

< Previous Next >
Re: Programme kompilieren
  • From: David Haller <david@xxxxxxxxxx>
  • Date: Thu, 14 Jun 2001 13:34:42 +0200
  • Message-id: <20010614133442.F5339@xxxxxxxxxx>
On Don, 14 Jun 2001, Manfred Tremmel wrote:
>Am Mittwoch, 13. Juni 2001 19:56 schrieb Guenter Penk:
>> 1. Warum muss man Programme für Linux extra kompilieren?
[Gute Einfuehrung]

>Linux läuft aber nicht nur auf Intel/AMD Kisten, daher ist es kaum
>einem Programmierer möglich, Ausführbare Varianten für alle möglichen
>Prozessoren zu erstellen (Sparc, PPC, Mips, Alpha, 68k, ...), allein
>deshalb ist es immer gut, den Source Code zu haben und selbst
>übersetzen zu können.

Jup. z.B. hab ich einen shell-Account auf nem SunOS/Sparc, auf dem
wget fehlte (aber nicht ftp). Also via ftp mal eben die Quellen von wget
besorgt, tar -x...; ./configure --prefix=$HOME; make; make install; feddich.
Und alles via ssh. Mach das mal auf ner Win* Kiste mit nem Win-Tool wie
z.B. GetRight oder GoZilla, das wirst du kaum auf nem SunOS/Sparc zum
laufen bekommen.

>vermeiden helfen. Insbesondere die libc/glibc verursacht da Probleme,
>so wird ein unter SuSE 7.1 compiliertes Programm kaum unter SuSE 6.4
>und sicher nicht unter 5.x laufen.

Ack. 7.0er "laufen" auf meiner 6.2 (glibc 2.1.3), >= 7.1 (glibc 2.2.x)
meist nicht.

>Jede Compiliereinstellung ruft Änderungen am erzeugten Programmcode
>hervor, es sind mit Sicherheit nicht alle Kombinationen mit allen
>denkbaren Source Code Varianten ausgetestet, von daher ist es nicht
>auszuschliessen, dass man sich einen Fehler einfängt.

Wobei man dann immer noch die Moeglichkeit hat, "einen Gang runterzu-
schalten" und die Quellen mit einer weniger aggressiven Optimierung,
z.B. '-O -march=i586' doch noch zum laufen zu bringen.

-dnh

--
Excerpt from a conversation with a friend, early in my unix odyssey:
"So now I've got all these floppy-sized archive pieces, and I haven't
been able to figure out what program I'm supposed to use to concat--
er, never mind." [void in asr]

< Previous Next >