[INFO] Compilazione e Slackware

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

@Philip J. Fry:
Premetto che non sono né mi considero un esperto, sono solo un utente medio(cre), comunque, per farti alcuni esempi:
-per firefox uso i binari ufficiali, che ho scompattato in /opt/firefox creando poi un link simbolico in /usr/bin all'eseguibile, così per gli aggiornamenti uso il tool nativo di firefox e di solito con poche centinaia di kilobyte di download aggiorno il programma
-per le release di bugfix del kernel (es. per passare dalla 2.6.22.13 alla 2.6.22.14) uso uno scriptino fatto da me che applica la patch, ricompila e installa il kernel, per passaggi di release (es. da 2.6.21 a 2.6.22) vado di make oldconfig e faccio tutto manualmente
-per cose come wine da un po' di tempo applico la patch ai sorgenti, poi per compilare uso lo slackbuild di Samiel cambiando solo i flag di ottimizzazione e il numero di versione
-per le glibc uso lo slackbuild della slackware cambiando solo i flag di ottimizzazone
-per gimp vado di konf ---prefix=/usr && make && make install-strip, dove konf è un alias per ./configure + flags di ottimizzazione
-per kde4 ho seguito le istruzioni sul sito di kde creando un utente apposito, per gli aggiornamenti uso le patch con xdelta e poi ripeto la compilazione automatizzando un po' con uno scriptino
-per l'aggiornamento da kde 3.5.7 a kde 3.5.8 ho usato i pacchetti ufficiali della current e sono andato di upgradepkg, così come ho fatto per alcuni aggiornamenti di sicurezza
-se il programma è in python di solito basta python setup.py install
-per gcc mi leggo le istruzioni creando la directory build, configurando come mi sembra meglio (es. nel mio caso CFLAGS='-mfpmath=sse -msse2 -m3dnow -march=athlon-xp -pipe -O2' ../configure --prefix=/usr --enable-shared --enable-threads --enable-languages=c,c++,fortran,java,objc,obj-c++,treelang --enable-__cxa_atexit )
e dando make bootstrap, facendo poi i test e riportandoli al team di gcc
-in generale, se ho i sorgenti mi leggo prima i file README e INSTALL, se c'è da dare (come capita spessissimo) ./configure vedo cosa dice ./configure --help .

Come vedi non seguo una regola precisa, almeno nel mio caso dipende da caso a caso e da come mi va di fare o di provare a fare... :)

EDIT:
Philip J. Fry: ha scritto:Mmmm..cioè??
Ti consiglio anch'io di leggere S4D o anche Slackware Essentials, comunque per farla breve uno slackbuild è uno script di sh/bash dove vengono sequenzialmente impartite le istruzioni per compilare un programma, applicando preliminarmente le necessarie patch, controllando i permessi di esecuzione e le proprietà, mettendo in maniera ordinata i file in determinate directory, eseguendo infine eventuali operazioni di post-installazione.
Dato che si tratta di uno script della shell hai modo di capire facilmente come viene preparato il pacchetto e puoi quindi modificarne agevolmente la preparazione.

Avatar utente
marghe
Linux 3.x
Linux 3.x
Messaggi: 525
Iscritto il: lun 7 ago 2006, 23:39

Messaggio da marghe »

albatros ha scritto: -per le glibc uso lo slackbuild della slackware cambiando solo i flag di ottimizzazone
Facendo una compilazione mirata delle glibc vedi differenze di prestazioni nel sistema ?

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

marghe ha scritto:Facendo una compilazione mirata delle glibc vedi differenze di prestazioni nel sistema ?
Visibilmente no, non ho mai fatto test comparativi, nel complesso sono soddisfatto del comportamento del sistema e non mi interessava farlo.
L'ultima volta ho ricompilato le glibc soprattutto perché volevo provare le 2.7, ma non mi andava di passare al kernel 2.6.23, per cui le ho ricompilate verso la serie 2.6.22 e, dato che c'ero, a quel punto ho anche ottimizzato per la mia cpu.
Funziona tutto perfettamente, per ora ho avuto problemi solo nel linking di un programmino che chiamava rdtscl (nella compilazione, l'eseguibile compilato su un'altra macchina funzionava), ma non mi sono sbattuto più di tanto nel risolverlo e non è detto dipenda dalle glibc.
Comunque ricompilare le glibc per ottimizzarle costa poco tempo umano, per cui secondo me vale la pena farlo, anche se i vantaggi fossero modesti.

Avatar utente
marghe
Linux 3.x
Linux 3.x
Messaggi: 525
Iscritto il: lun 7 ago 2006, 23:39

Messaggio da marghe »

Ok, grazie per aver risposto :)

Rispondi