Mailinglist Archive: opensuse-de (4880 mails)

< Previous Next >
Re: yammi startet nicht
  • From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
  • Date: Sun, 30 Nov 2003 03:43:18 +0100
  • Message-id: <1070160197.21859.6739.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Sat, 2003-11-29 at 16:25, Thomas Hertweck wrote:
> Rafael Kolless schrieb:
> > [...]
> > Ich habe die Pakete für 9.0 installiert und gerade beide verglichen, der
> > Dateiname unterscheidet sich, ob dieses nun am Paketbuilder liegt vermute ich
> > nicht, ist dieses nicht ein unterschiedliches Verhalten beim Übersetzen in
> > den Versionen 8.2 und 9.0?
>
> Nein. Das Programm muesste schlicht immer yammi heissen und
> nicht i586-suse-linux-yammi.
Ja.

> Stell Dir mal vor, jedes Programm,
> das mit der Option i586 auf SuSE Linux compilierte, wuerde das
> Prefix i586-suse-linux tragen. Da wuerde dann eine schlichte
> Zeile "ls -l * | grep bla" zu "i586-suse-linux-ls -l * |
> i586-suse-linux-grep bla" mutieren :-)) Es gibt beim configure
> Skript AFAIK die Moeglichkeit, die Architektur etc. automatisch
> dem Programm als Prefix voranstellen zu lassen,
Jein.

Was Du meinst, sind die configure-Skript Optionen
--program-transform-name. --program-prefix und --program-suffix.

Die zugehörigen autoconf-interenen Variable sind bei "native"
konfigurierten Paketen normalerweise leer, d.h. ein Program wird unter
dem Namen installiert unter dem es übersetzt wurde.
Alle 3 Optionen werden normalerweise nur selten und in komplexen
Installationsumgebungen benötigt.

Bei sauber programmierten configure-Skripten wird program-transform-name
automatisch verwendet, sobald cross-kompiliert wird.
Moderne autoconf-generierte configure Skripte erkennen Cross-Kompilation
anhand der Werte die einem configure-Script mittels der Optionen --build
und --host übergeben werden.

Also:
* ./configure --host=sparc-sun-solaris2.5, konfiguriert ein Paket für
Sparc-Sun-Zielsysteme unter solaris2.5.
* ./configure --host=i586-pc-linux-gnu konfiguriert ein Paket für ein
i586/PC Zielsystem unter Linux/GNU

Die entsprechendene Programme heißen dann sparc-sun-solaris2.5-<program>
bzw. i586-pc-linux-gnu-<program>.


Das Packman yammi.spec verwendet %configure.

Zumindest bis einschliesslich SuSE-8.1 enthielt %configure einen Bug der
den Cross-Compilationsmodus einschaltete und somit die Verwendung von
program-transform-name zur Folge hat.

Was ihr hier beschreibt, deutet darauf hin, dass dieser Bug auch unter
SuSE-9.0 noch vorhanden ist,

Ralf



< Previous Next >
Follow Ups