Ciao a tutti!
Ho sempre letto e sentito che quando si parla di CFLAGS, gli amici di gentoo possono dare una mano. A questo Link http://gentoo-wiki.com/Safe_Cflags#Opte ... _.28AMD.29, ho trovato le cflags consigliate per l'AMD64 e Opteron. Ho pensato: "se vanno bene per gentoo, perchè non possono andare bene per la mia slack?"
A questo punto mi sono buttato a capofitto su un programma che da qualche giorno dovevo instalallare: Easytag. Faccio un Export di CHOST, CFLAGS e CXXFLAGS e lancio il .configure. Pam! neanche il tempo di farlo e ottengo:
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
Entro nel file di Log e capisco subito che gcc non ha idea di cosa siano mark=k8. Chissa come fanno gli amici di gentoo? Mi viene un idea..vado su slacky e vedo che Flags sono state usate per xine (disponibile anche x86_64). Trovo solo "-02", al che mi chiedo: "ma che Flag devo usare per il mio amd64?"
Ciao, Andrea
Cflags e AMD64
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.
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.
Sono molto ignorante in materia, comunque da quello che so i CFLAGS si usano in fase di compilazione e servono a modificare il criterio con cui i compilatori generano il codice.
Qualche tempo fa era nata una discussione su questo forum relativa ai CFLAGS. Ti riporto il link.
http://www.slacky.it/modules.php?name=F ... ght=cflags
Qualche tempo fa era nata una discussione su questo forum relativa ai CFLAGS. Ti riporto il link.
http://www.slacky.it/modules.php?name=F ... ght=cflags
- useless
- Staff

- Messaggi: 3896
- Iscritto il: dom 12 ott 2003, 0:00
- Località: A place where the streets have no name
- Contatta:
ho analizzato i pacchetti di xine e ti posso dire che sono compilati a 32 bit. basta lanciare il comando "file" su un qualsiasi eseguibile, e questo dirà se sono compilati a 32 o 64 bit. ad esempio:
ccl10 ~ # file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
mentre su un qualcosa compilato a 64 bit si ottiene:
/boot/vmlinux: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), statically linked, stripped
(questo è compilato su sparc, non su x86_64)
qual è il problema nella compilazione per x86_64? che ci vuole un altro compilatore! infatti il gcc di default di slackware sa solo creare binari a 32 bit! bisogna creare un crosscompilatore in grado di girare su x86 e creare codice per x86_64. questo si può fare col crossgcc (googlate please).
tuttavia compilare un qualsiasi programma è complicato dal fatto che non credo che un binario a 64bit possa linkare una libreria a 32, quindi bisognerebbe partire da 0, creando prima una versione a 64bit di tutte le librerie necessarie.
insomma, un lavoraccio. c'è slamd64 già bell'e pronta...
(ps: mi riservo di correggere tutto quel che ho detto in questo post
)
ccl10 ~ # file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
mentre su un qualcosa compilato a 64 bit si ottiene:
/boot/vmlinux: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), statically linked, stripped
(questo è compilato su sparc, non su x86_64)
qual è il problema nella compilazione per x86_64? che ci vuole un altro compilatore! infatti il gcc di default di slackware sa solo creare binari a 32 bit! bisogna creare un crosscompilatore in grado di girare su x86 e creare codice per x86_64. questo si può fare col crossgcc (googlate please).
tuttavia compilare un qualsiasi programma è complicato dal fatto che non credo che un binario a 64bit possa linkare una libreria a 32, quindi bisognerebbe partire da 0, creando prima una versione a 64bit di tutte le librerie necessarie.
insomma, un lavoraccio. c'è slamd64 già bell'e pronta...
(ps: mi riservo di correggere tutto quel che ho detto in questo post
