[linux-l] Cross-Compiling für Win32 (was: Cygwin Lizenz)

Volker Grabsch vog at notjusthosting.com
Do Nov 6 22:12:41 CET 2008


Steffen Dettmer <steffen at dett.de> schrieb:
> * Volker Grabsch wrote on Mon, Oct 27, 2008 at 23:30 +0100:
> 
> > BTW, solche Dinge sollten generell nicht in /tmp stattfinden,
> > weil das ein hart codierter Pfad ist, und zudem auf vielen Systemen
> > nicht für 200-400 MB große temporäre Datenmengen ausgelegt ist.
> > Oft ist es eine Ramdisk, deren Größe auf 16MB oder 64MB beschränkt
> > ist.
> 
> compiler maschine mit kleinem /tmp? Hatte ich noch nicht.

Konkret habe ich das Problem beim Einrichten von VServern
(Linux-VServer), die eben standardmäßig als /tmp eine kleine
Ramdisk benutzen. Klar, das kann man alles konfigurieren, aber
eigentlich ist das auch gar nicht so schlecht, wenn man ins
/tmp einer virtuellen Maschine keine großen Datenmengen
hinterlegen kann. Das können und sollen die Leute ruhig in
ihrem Homedir machen.

Übrigens, RPM, Debian, etc. machen es genauso, die haben ihr
temporäres Build-Verzeichnis auch nicht in /tmp, sondern ein
großes Verzeichnis, in dem man alles beisammen hat: Source-
Archive, Buildroot, Zielverzeichnis für die Pseodoinstallationen,
RPM- und SRPM-Pakete.

Und gerade bei einer Crosscompiling-Umgebung finde ich es
wichtig, dass jede ihr eigenes Verzeichnis hat, und außerhalb
dieses Verzeichnisses nichts anrührt. Wenn man mehrere solcher
Umgebungen hat, kommt man sonst ganz schnell durcheinander.
Ganz zu schweigen von der Frage, was passiert, wenn beide
ihr SDL in /tmp/libsdl-1.2.3 bauen wollen ...

> > Wer sein Zeug in /tmp bauen will, der
> > kann mein Mingw-Cross-Env einfach von vornherein nach /tmp
> > entpacken, oder den entsprechenden Pfad im Script anpassen
> > (es braucht nur eine einzige Zeile angepasst zu werden).
> 
> ja, wenn so eine Anpassung so leicht möglich ist, kann man nicht
> meckern, prima.

Jepp, aber von den mingwcrossenv-Benutzern, die ich kenne,
hat das bisher noch keiner gemacht.

Was ich hingegen öfters gehört habe, war der Wunsch, ein
anderes Zielverzeichnis angeben zu können. Die Leute wollen
das gern in /usr/src/mingwcrossenv-X.Y bauen, aber nach
/opt/mingwcrossenv/ installieren.

> > Diese Argumentation trifft selbst dann zu, wenn man für Embedded-Devices
> > programmiert. Dann hat man kein bequemes Wine, sondern muss qemu und
> > Konsorten heran ziehen.
> 
> Verstehe den Zusammenhang nicht? Ich kompiliere viel für
> Embedded-Devices über Wine (autoconf/automake + WINE ist immer
> noch viel schneller als cygwin + autoconf/automake).

Ich meinte langsamere Ebedded-Devices, die zudem nicht unter
Windows laufen. ARM-Architekturen findet man z.B. oft.

> > Rob Landley hat zu dem Themen einen exzelleten Artikel geschrieben:
> > 
> >     http://landley.net/writing/docs/cross-compiling.html
> 
> mmm... Klingt irgendwie ziemlich linux+gcc spezialisiert.

Natürlich. Wenn man einer neuer Hardware Leben einhauchen möchte,
dann fängt man am besten bei einem freien Kernel an (Linux oder BSD),
und packt als nächstes ein paar GNU-Compiler rauf. So stehen die
Chancen am besten, beliebige Software dorthin zu portieren. Was
ist daran verkehrt?

> > Nein, wenn Windows vom Markt verschwindet dann nicht, weil die
> > Konkurrenz großartige Produkte hervorbringt. Denn das tut sie
> > schon die ganze Zeit über, ohne das Quasimonopol von MS auch
> > nur anzukratzen. Nein, wenn Windows verschwindet, dann nur durch
> > richtig, richtig grobe Fehler seitens Microsofts. So groß, dass
> > selbst ihre üblichen illegalen Machenschaften (siehe EU-Prozess
> > gegen Microsoft) diesen Fehler nicht mehr wett machen können.
> 
> Warum soll Win denn verschwinden? Oder andere Playstations? Ist
> doch gut, wenn's sowas gibt;

Ja, "verschwinden" war übertrieben. In irgendwelchen Firmennetzen
wird Windows sicher noch lange leben. Ditto für Unternehmen, die
Spezialsoftware einsetzen, die es nur für Windows gibt und die
sich Upgrades nicht leisten können.

Was ich eigentlich meine: "Wenn Windows seine Stellung am Markt
verliert, dann nicht durch großartige Konkurrenz-Produkte, sondern
durch grobe Fehler von Microsoft."

> man stelle sich vor, die ganzen
> Winuser würden sonst Linux einsetzen.

Ich persönlich würde das begrüßen. Dann könnte ich Bekannten
viel leichter und effektiver bei Computerproblemen helfen.

> Also, DIE User (nicht die
> interessierten, sondern die `mir doch egal' - ich nutze Win und
> Linux viel).

Also, nervende Linux-Einsteigerfragen hat man sowieso, auch
jetzt schon, und niemand zwingt dich, diese zu beantworten.
Wenn du nicht der Typ dafür bist, brauchst du entsprechende
Newsgroups und Mailinglisten ja nicht zu abonnieren.

Im Gegenteil: Solche Anfängerfragen würden IMHO viel weniger
werden, wenn Linux auf dem Desktopmarkt dominieren würde. Dann
würden nämlich erstmal viele andere Mechanismen greifen, die
im Moment noch sehr Windows-Exklusiv sind.

Zum Beispiel kann man von Computer-Bild & Co. halten, was man
will, aber sie erfüllen nunmal den Zweck einer Windows-
Einsteiger-FAQs. Obwohl, es sind keine wirklich FAQs, denn
im Gegensatz zu normalen FAQs werden diese tatsächlich gelesen,
ja die Leute bezahlen sogar dafür Geld.

Ganz zu schweigen von Volkshochschul-Kursen, Informatik-
Unterricht, und dem normalen Herumfragen in der Familie
und im Bekanntenkreis: Stünden dem Neuling all diese Dinge
für Linux genauso zur Verfügung wie heute für Windows, dann
sähen die Linux-Newbie-Gruppen ganz anders aus.

Ich kann daher das gängige Argument "Lasst die DAUs bloß
weiterhin Windows benutzen" absolut nicht nachvollziehen.
Im Gegenteil: Es könnte der Freien-Software-Bewegung gar
nichts besseres passieren, als genau diese passiven,
uninteressierten User zum Umstieg auf freie Systeme zu
bringen.

> Die Server von MS sind auch schön teuer, da müssen
> die Entscheider wenigstens indirekt leiden. Leider müssen da alle
> drunter leiden. Muss man positiv sehen: man selbst weiss
> wenigstens, warum. Um die indirekte Strafe zu vollstrecken, nimmt
> man gern kleine Nachteile in Kauf. Die grösste Strafe ist am Ende
> ja das Produkt, in dem Fall, dass die blueray Käufer dann ständig
> blöde Hollywoodfilme gucken müssen.

Kannst du das genauer erklären? Ich verstehe nicht, inwiefern
die Leute dadurch bestraft werden, dass sich der Markt auf die
Vorlieben der Masse einschränkt. Im Gegenteil, die Leidtragenden
sind in dem Fall genau die Minderheiten, die einen anderen Film-
Geschmack haben.

> > Vista ist vielleicht solch eine Panne. Oder die Portierung auf
> > 64-Bit-Systeme. Wer weiß. Aber wenn es soweit ist, dann wird
> > Microsoft auf jede noch kleine (moralische) Unterstützung
> > angewiesen sein ... und mein mingw_cross_env könnte solch eine
> > Unterstützung darstellen. Daher meine moralischen Bedenken.
> > 
> > Auch die bekannte Argumentation von Fefe geht in diese Richtung:
> > http://www.fefe.de/nowindows/
> 
> Sowas finde ich meistens ein bisschen albern. Besonders sowas wie
> `completely free platform' und dann auf einem PC arbeiten, was???

Gibt es denn eine bezahlbare, freie Alternative zur PC-Architektur?
Es gibt zwar OpenMoko, aber den PC ablösen kann es noch nicht.

> FSF/GNU fing im Prinzip ja auch so an, wie bei cygwin kritisiert.

GNU ist aber proprietäre Betriebssysteme gar nicht mehr angewiesen,
auf proprietäre Hardware hingegen schon!

> Klar, man kann darum bitten und seine Meinung haben und anderer
> sollten vielleicht überlegen, dass zu respektieren, natürlich.

Ja, und genau das finde ich auch gut an dem Vorgehen von Fefe. Er
schreibt das als Bitte, aber nicht als Bedingung in die Lizenz.
Hätte er letzteres getan, wäre seine Software nicht mehr frei.

> > Nein, kenne ich nicht. Deshalb habe ich vor einiger Zeit mal ne
> > Anleitung dafür geschrieben:
> > 
> >     http://wiki.njh.eu/Rsync_unter_Windows
> 
> /cygdrive/x/ muss man sich dann aber auch erst mounten, oder?

Nein, denn /cygdrive/ an sich ist schon ein Spezial-Verzeichnis.


Gruß,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l