|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2005
Messaggi: 70
|
Ricompilare da codice sorgente
Rieccomi... Mi hanno detto che con le distribuzioni Gentoo è neccessario ricompilare i programmi da codice sorgente. Premesso che sono un novizio doc sapreste indicarmi con parole semplici la procedura che si deve effettuare per ricompilare? E' una cosa semplice o complicata? Devi saper programmare per fare una cosa del genere?
Grazie in anticipo. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
hai intenzione di installare gentoo senza aver avuto una minima esperienza con un'altra distribuzione?
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2005
Messaggi: 70
|
Non la installerò ma ho fatto quelle domande solo per capire cosa significa 'ricompilare', in futuro presumo che mi servirà...
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
ah ecco!
![]() la compilazione è il procedimento che serve a trasformare un programma scritto in linguaggio sorgente (un qualsiasilinguaggio di programmazione tipo c, c++, java ecc..) in linguaggio macchina, cioè in linguaggio interpretabile dalla cpu. compilare programmini semplici è facile. compilare programmi enormi è impossibile farlo a mano. fortunatamente esiste un'utility che si chiama make che ci permette di fare tutto in maniera semplice. quest'utility va a vedere cosa c'è scritto dentro un file che si chiama makefile relativo al programma che si vuole compilare dove viene spiegato come compilare il programma in maniera quindi del tutto trasparente all'utente. come si fa a compilare un programma sotto linux? semplice, guarda il file readme che c'è in pressochè tutti i pacchetti sorgenti di un programma e lì è spiegato come fare. cmq di solito la procedura consiste in 3 passi: ./configure --> esegue il file chiamato configure all'interno della directory dei sorgenti. questo file ha il compito di generare il makefile trovando le directory delle librerie, segnalando librerie mancanti, il supporto ad alcune system call eccetera... make --> compilazione del programma make install --> copia i file binari generati dalla compilazione con make nella directory di default di sistema. di solito è /usr/bin. per programmi complessi invece di solito vengono create directory apposite aggiungendo un link simbolico in /usr/bin [LUBRANO MODE ON]a questo punto la domanda sorge spontanea... ![]() perchè io utente finale devo compilare un programma? chi distribuisce il programma perchè non può farlo per me? le risposte a questa domanda sono molteplici. innanzitutto cominciamo col dire che con windows (e mac os) nel 99% dei casi i programmi sono già compilati. questo perchè si tratta spesso di software proprieario di cui non si rilascia il sorgente. anche nel caso di software libero però vengono lo stesso rilasciati anche i binari (oltre al sorgente) perchè l'architettura su cui gira windows è unica (ovvero x86), il sistema è standardizzato, e quindi sicuramente il binario sarà eseguibile su tutti i pc su cui c'è windows. sotto linux la cosa è diversa. le piattaforme supportate sono tante. nel caso di sistribuzioni come gentoo e debian si tratta di una decina di piattaforme hardware, quindi i binari per una non sono compatibili per qualsiasi altra. tuttavia poichè la "massa" si trova su x86, la maggior parte delle distribuzioni hanno già dei binari di ogni programma già belli e pronti e per ogni distribuzione esistono tool per installarli. apt per debian, urpmi per mandriva ecc... ma allora perchè su gentoo bisogna sempre compilare qualsiasi cosa? 1- è una questione di filosofia ![]() 2- spesso i sorgenti dei programmi vengono patchati dagli sviluppatori della comunità gentoo 3- ottimizzazione. la compilazione può essere soggetta ad ottimizzazioni. il discorso è complesso ma per farti capire al volo ti faccio un esempio.perchè io che ho un pentium 4 e ho le sse3 non posso sftuttarle perchè il programma che uso è stato compilato per 386? siccome su gentoo c'è la possibilità di ricompilare tutto allora il compilatore viene istruito per compilare i programmi in modo tale che possa sfruttare tutte le features messe a disposizione dal mio pc. spero di averti chiarito la situazione... ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2003
Città: San Mauro Torinese
Messaggi: 5402
|
Quote:
![]() ![]()
__________________
Suonare come superamento, anche se per pochi attimi, della realtà costrittiva, come espressione, comunicazione, con modalità proprie, agli altri; http://www.magazzinifranti.it/ |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
![]() ![]() ![]() |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Aug 2005
Messaggi: 70
|
![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:08.