Slack.built

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.
pennega
Linux 3.x
Linux 3.x
Messaggi: 607
Iscritto il: dom 4 lug 2004, 0:00
Contatta:

Slack.built

Messaggio da pennega »

ho scaricato i sorgenti di X ho fatto una modifichina allo slackbuilt

Codice: Seleziona tutto

VERSION=6.8.2
export ARCH=${ARCH:-athlonxp}
BUILD=${BUILD:-1pk}

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "athlonxp" ];then
  SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -ffast-math -mmmx -m3dnow -msse -mfpmath=sse"
fi
.................
ho modificato la variabile ARCH e ho aggiunto all' if la parte x l'archittetura che ho impostato...
mi sorge un dubbio... continuando a leggere lo slackbuilt trovo
............................................
( cd extras/freetype2
CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr $ARCH-slackware-linux"
make
# This only needs to go to the main system for now
make install
)
ldconfig
...............................
il fatto è che nel mio sistema trovo solo una dir che porta dicitura i486-slackware-linux ma non una athlonxp-slackware-linux... questo vorrebe dire che devo ricompilare anche gcc e le libc con questa arch???
o posso fare un link a quella che ho???

Avatar utente
salbutamolo
Linux 3.x
Linux 3.x
Messaggi: 905
Iscritto il: lun 12 gen 2004, 0:00
Contatta:

Messaggio da salbutamolo »

Ciao,
lascia perdere le modifiche ad "arch" lascia i486.....c'è un post a riguardo che spiega molto bene il motivo di questa scelta...cercalo perchè la questione è lunghetta. Se vuoi ottimizzare per la tua architettura modifica solo le cflags relative all'architetettiura i486, poi lanci lo sclakbuild e alla fine, semplicemente, rinomini i pacchetti come vuoi tu! Have a nice day

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

il fatto è che gli slackbuild ERRONEAMANETE usano l'ARCH come target. la cosa migliore che mi viene in mente sarebbe aggiungere una nuova variabile TARGET e lasciarla =i486 e nei make, sostituire $ARCH-slackware-linux con $TARGET-slackware-linux.

pennega
Linux 3.x
Linux 3.x
Messaggi: 607
Iscritto il: dom 4 lug 2004, 0:00
Contatta:

Messaggio da pennega »

ok grazie x le risposte...
penso che farò come ha detto useless anche xchè ho visto che lo slack.built di kde fà proprio così... usa una variabile $ARCH e una variabile $TARGET...

mi è giunta voce che gcc nonn suporta l'arch athlon-xp voi sapate qualcosa in merito???

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

il fatto è che gli slackbuild ERRONEAMANETE usano l'ARCH come target. la cosa migliore che mi viene in mente sarebbe aggiungere una nuova variabile TARGET e lasciarla =i486 e nei make, sostituire $ARCH-slackware-linux con $TARGET-slackware-linux.
Spiegaci bene sta cosa...
O c'è qualche sito illuminante ?

Grazie
M.

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

il fatto è che l'arch viene utilizzata negli slackbuild + nuovi x impostare i cflags, ma anche x individuare il compilatore, quando questo scopo apparterrebbe al target. infatti un compilatore unico (un target insomma, tipo i486) può generare codice x diverse arch (i486, i686, athlon-xp, ecc...). quindi la cosa migliore è avere 2 variabili, eventualmente con target che assume valori uguali o diversi a seconda di arch: se arch=i386, i486, ecc... arch vale sempre e comunque i486, se poi uno ha tipo un crosscompiler x sparc (come me :D) può avere un arch supersparc che imposta un target sparc, ad esempio.
spero di essere stato chiaro! :idea:

Avatar utente
Loris
Admin
Admin
Messaggi: 7731
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Messaggio da Loris »

Direi che è giusto e sensato.
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Azz... e io che pensavo che Hegel fosse lo scrittore
più ermetico... Pertanto che cosa metteresti
nello SlackBuild? Così vedo come viene fuoti
in pratica...

Grazie
M.

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Tipo una cosa del genere (appema trovata in rete)?

CFLAGS="-O3 -march=i686 -mcpu=i686" \
./configure --target=alpha-pc-linux-gnu \
--prefix=/usr/bin \
--program-prefix="" \
--program-suffix="" \
$ARCH-slackware-linux

Ma a questo punto si conserva l'ultima riga? E dove
trovo le variabili? Se ad es intendo compilare per un i686?

--target=i686-pc-linux-gnu

o cos'altro? Da ultimo:
dove trovo ste cose? bibliografia per aprofondimenti,
compito per le vacanze...

Grazie
M.

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Altra domanda... e faccio i link a ccache mettendo
ln -s /usr/bin/ccache i686-slackware-linux-gc
invece di i486, se do un make mi salta fuori:
checking for i686-slackware-linux-gcc... i686-slackware-linux-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
Per cui c'è qualche inghippo...

M.

Avatar utente
Loris
Admin
Admin
Messaggi: 7731
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Messaggio da Loris »

Una roba simile:

Codice: Seleziona tutto

TARGET=$i486
ARCH=${ARCH:-i486}
BUILD=1sl

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mcpu=i686"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
fi
.
.
.
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=/usr \
--program-prefix="" \
--program-suffix="" \
$TARGET-slackware-linux
make
make install DESTDIR=$PKG
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

ok, non sono stato chiaro :). xò ci hai preso, e a quel punto l'ultima riga non ha + molto senso (in realtà ne ha: dovresti specificare anche --host e --build. in effetti se ci hai fatto caso, spesso configure avverte "warning: you should use --target..."). comunque fai molto prima come ha detto lorys, con un solo appunto:
TARGET=i486, senza $
:)

Avatar utente
Loris
Admin
Admin
Messaggi: 7731
Iscritto il: lun 31 mar 2003, 0:00
Nome Cognome: Loris Vincenzi
Località: Gradisca D'Isonzo
Contatta:

Messaggio da Loris »

Si certo alle 7.35 ancora dormivo :)
"Ho una testa piuttosto balzana e comunque non sono quello che credete" - Roger Keith Barrett

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Allora, per fare un po' di ordine...

System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]

Se voglio fare un pacchetto e non mi serve il cross-compiling (ho trovato un how-to sul tema)
e devo farlo sul mio i686 per il mio 686,
build host e target dovrebbero risultare uguali...
Giusto oppure ho sbagliato tutto?

M.

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

giusto, infatti specificare $ARCH-slackware-linux alla fine delle opzioni ha proprio quell'effetto.

anche se credo che ormai tu abbia capito, ricapitolo:
- build -> macchina sulla quale si compila
- host -> macchina su cui girerà il programma compilato
- target -> macchina x cui il compilatore compilato creerà codice. in effetti non è molto utile x ciò che non è un compilatore.

Rispondi