**** POSTALINUX **** Compilare programmi matematici Un grande saluto a te e a tutta la redazione! Ho cominciato ad usare Linux da poco, e poiché vorrei imparare il C ed il C++ ho provato a scrivere e compilare alcuni semplici programmi tratti da un manuale. I programmi funzionano, si compilano bene, tutti tranne quelli che contengono funzioni matematiche, come int, abs, ecc.. Perché ? Forse mi mancano delle librerie? Eppure ho fatto l'installazione completa della Mandrake 6.1! E poi con cosa vengono scritti i vari configure, makefile e tutti gli altri programmi che servono per compilare i sorgenti? Potresti fare una articolo anche sugli ambienti di sviluppo per Linux? Grazie per l'attenzione! Lettera Firmata Per collegare ad un programma le librerie matematiche è necessario specificare esplicitamente sulla linea di comando del compilare l'opzione -lm , per cui l'invocazione di gcc diventa: gcc -altri_parametri -lm nomefile.c Gli script di configurazione dei sorgenti vengono generati automaticamente dagli ambienti di sviluppo: kdevelop, glade e in genere tutti gli IDE grafici di nuova generazione fanno un'accurata analisi di ciò che i sorgenti richiedono e costruiscono uno script che verifica il sistema per assicurarsi che tutto sia in ordine. Come tutte le cose automatiche, non sempre funziona, anche perché non tutti i sistemi, come dico sempre, sono uguali, nemmeno nella disposizione dei file. L'articolo sugli IDE era già previsto, ma ho ricevuto molte richieste per uno su Apache e così ho dovuto rimandarlo. Aver invitato i lettori a contribuire con suggerimenti allo sviluppo della parte Linux si PCAction ha dato frutti. *** Cambiare la directory root Ciao Ivan mi chiamo Luca e vorrei sapere come funziona il programma chroot, perché anche dopo aver letto tutta la documentazione che ho trovato non riesco a farlo funzionare! Funziona solo se faccio chroot / , ma questo ovviamente non serve a nulla. La mia idea era di compilare programmi e librerie, fare chroot su una directory vuota, e poi installare i programmi li', così poi è facilissimo zipparli e conservare solo gli eseguibili già compilati. Ma non funziona! Come posso fare? Ti ringrazio e aspetto una tua risposta Luca Il programma chroot, come giustamente dici, trasforma una directory qualunque in una radice, in modo che diventa impossibile uscirne. Questo sistema può essere impiegato per costringere un utente all'interno della su home page o per un sito ftp anonimo, ma ogni cosa ha i suoi vantaggi e svantaggi: lo vantaggio più rilevante diventa anche lo svantaggio: tutti i programmi che possono servire nella nuova radice dovranno essere resi disponibili, poiché non sarà possibile andarli a cercare altrove. Il chroot non si limita al confino di un utente, ma taglia completamente fuori da tutto il resto del sistema. Per questo chroot sembra non funzionare : la shell che viene eseguita da chroot ha bisogno delle librerie di base, e non riesce a trovarle nella nuova root; per rimediare dovresti ricopiare nella tua root "alternativa" il contenuto della directory /lib e, in seguito, il make, il gcc e tutti i tools che servono per compilare ed installare un programma partendo dai sorgenti, cioè una discreta parte della corposa /usr/bin. Quindi, per lo scopo che ti proponi, consiglio piuttosto un find , con i parametri opportuni per cercare solo i file creati negli ultimi minuti e per evitare le directory come /tmp /var /proc e /mnt , e passare il tutto a tar tramite una pipe. E' la via più comoda *** Configurare kppp Ciao Ivan, ho da poco installato Linux per la prima volta, e sembra tutto a posto tranne il collegamento internet, kppp si rifiuta di funzionare! Kppp fa il numero, sembra che si colleghi, e subito dopo mi dice che Il demone è morto. com'è possibile? Che devo fare? Aiuto! Marcello Caro Marcello, il kppp è uno dei mostri peggiori che ci siano su Linux. Vengono riportati da molte persone sia bachi che malfunzionamenti, e pretende di essere setuid root per funzionare. Le cause di malfunzionamento quindi possono essere molte, ma nel tuo caso direi di controllare le seguenti cose: -che sia esatto il protocollo di comunicazione col tuo provider, in genere è PAP ( password authorization protocol ) -la velocità impostata, che non è quella tra il modem ed il provider, ma quella tra la porta seriale ed il modem, metti un valore alto, 115200 -la stringa di inizializzazione del modem , usa ATZX3, anche se compone il numero correttamente non si sa mai -infine nome e password che immetti, ricorda sempre che maiuscole e minuscole non sono la stessa cosa, e che se usi libero o iol devi aggiungere al nome anche @libero.it o @iol.it Ti consiglio comunque di lasciar perdere i tool grafici e di passare quanto prima a configurare uno script, che non e' assolutamente difficile. Se poi usi Mandrake o RedHat puoi usare linuxconf e configurare tutte le interfacce ppp che vuoi.