leomacci ha scritto:Come si fa a sapere se uno slackbuild creerà un pacchetto a 64 bit escludendo ovviamente gli slackbuild tipo quello di Googleearth lo che dichiarano chiaramente .
Partendo dallo slackbuild di un pacchetto nel repository a 32 bit es.Simpleburn è possibile compilarlo a 64 bit?
Dipende dal programma in questione e da quello che hai a disposizione per fare il pacchetto.
Partiamo da quello che puoi avere a disposizione:
- Pacchetto di sorgenti: 9 volte su 10 è possibile compilarli anche a 64 bit. Alcuni programmi, nonostante siano scaricabili sotto forma di sorgenti, non possono essere compilati a 64 bit perché la loro funzionalità è tipica e utile solo a 32 bit oppure perché utilizzano codice assembly a 32 bit che non è ancora stato tradotto nella corrispondente controparte a 64 bit. Vedi per esempio wine (wine64 può eseguire solo i programmi Win64, quindi non serve per i programmi Win32) e zsnes (non compila a 64 bit per via di codice assembly a 32 bit non tradotto).
- Pacchetto di binari precompilati: in questo caso, o trovi il pacchetto a 64 bit o stai fresco (vedi Skype).
Per capire se un programma è compilabile a 64 bit oppure no, comunque, puoi sempre provare a lanciare la compilazione e vedere se va a buon fine o meno. Nel caso andasse male, ti conviene cercare informazioni per capire se si è verificato un errore per mancanza di un flag di compilazione (il famigerato -fPIC, che andrebbe tolto da quasi tutti gli SlackBuild esistenti perché abilitato automaticamente dove serve per la maggioranza dei programmi) oppure per una lacuna del programma stesso verso il supporto dei 64 bit. In quest'ultimo caso puoi fare poco, a meno che tu non sappia dove mettere le mani per aggiungere questo supporto.
leomacci ha scritto:Sul sito Slackbuild.org ho notato che per lo slackbuild di Flash Player plugin esiste un sorgente a 32 bit e uno a 64 bit:e un caso particolare?
È un caso di pacchetto di binari precompilati.
Sappi, comunque, che non ti serve modificare a mano tutti gli SlackBuild che ti capitano a tiro per impostare l'architettura a x86_64.
Come ti ha già accennato boh, le ultime versioni degli SlackBuild su sbo rilevano automaticamente l'architettura se ARCH non è preimpostata.
Comunque, per non saper né leggere né scrivere, la seguente riga bash:
- Codice: Seleziona tutto
ARCH=${ARCH:-i486}
viene interpretata come segue: imposta ARCH al contenuto di ARCH se già definita, altrimenti a i486.
Per definire la variabile ARCH prima del lancio di uno SlackBuild hai sostanzialmente due modi:
- Definizione al volo:
- Codice: Seleziona tutto
ARCH=x86_64 su -c ./ioahsdiosa.SlackBuild
che vale solo per quello che viene lanciato in quella riga e basta, senza modificare l'ambiente di esecuzione della shell; - Definizione "globale": aggiungi al tuo ~/.bashrc e/o ~/.bash_profile
- Codice: Seleziona tutto
export ARCH=x86_64
che rende disponibile a tutte le shell che lanci la variabile ARCH (praticamente una modifica permanente dell'ambiente).