[Primipassi] rpm -bb xxxxxx.spec

Sergio Ballestrero sballestrero@interfree.it
Ven 26 Gen 2001 22:31:38 CET


On Tue, 16 Jan 2001, Marco Santini wrote:

> Supponiamo che io compili col comando 'rpm -bb xxxxxx.spec' ciņ che ho
> installato da un xxxxxx.src.rpm;
> Gli rpm che vengono fuori sono compilati per la mia macchina (per es.
> i686) o per un i386? 
> ho guardato man pages e HOW-TO ma non sono stato in grado di capire se
> glielo devo dire io o se fa da solo. Sta di fatto che quello che viene
> fuori č un file xxxxxxx.i386.rpm e questo mi fa pensare che non li abbia
> compilati per il mio i686.
> Il tutto con rpm4 su rh7.
> Grazie,
> Marco.

 Premesse:

1) Dopo la 486, le architetture divergono. Su una K6, il codice
ottimizzato per PentiumPro puo' girare piu' lento di quello ottimizzato
per 486, e cosi' per ogni possibile combinazione.
gcc -v -mcpu=i686 .... rivela un -D__tune_pentiumpro__, che quindi va
bene per PPro, PII, Celeron, un po' meno per PIII, non so per K6 o K7.

2) rpm --rebuild  xxx.src.rpm  ti evita di dover installare il source
package. 

 Dopo le premesse, i problemi:

gli spec ben scritti, con Makefile adattati BENE, utilizzano
$RPM_OPT_FLAGS, che viene ricavato da --target, via rpmrc . Quindi

rpm --rebuild  --target=i686 xxxx.src.rpm

da' "-O2 -march=i686" che e' la cosa giusta. Una ottimizzazione oltre O2
puo' aumentare la dimensione dell'eseguibile, e puo' anche tirare fuori
dei bug nascosti del programma - in breve, non e' consigliabile a meno che
tu non conosca bene il programma che compili.

 Ma comunque non e' detto che il makefile, specie se si tratta di un
pacchetto non ufficiale, rispetti RPM_OPT_FLAGS.

 Quindi otterrai un .i686.rpm, ma non e' detto che cambi qualcosa.

 E buon divertimento, a ricompilare tutta la distribuzione !

 Ciao, 
   Sergio

-- 
--------------------------------------------------------------------------
 Things will get better despite             Sergio Ballestrero
our efforts to improve them.                       S.Ballestrero@iname.com
	-- Will Rogers                        





Maggiori informazioni sulla lista primipassi